饱和度调整
圖像飽和度是指色彩的鮮艷程度,它是影響色彩最終效果的重要屬性之一。
飽和度也被稱為圖片色彩純度,即色彩中彩色成分和消色成分的占比,這個比例決定了色彩的飽和度及鮮艷程度。當色彩中彩色成分多時,其色彩就呈現飽和(色覺強)。鮮明效果,給人的視覺印象會更強烈;反之,若消色成分多,色彩會顯得暗淡,視覺效果也隨之減弱。(書讀百變其義自現)
調整飽和度的思想:
//飽和度:值(-1)<-->(+1)
//arg1為飽和度的值,正值提升飽和度,負值降低飽和度
void MainWindow::on_doubleSpinBox_2_valueChanged(double arg1) {//導入原始圖片Mat m_Mat = imread(m_FileName.toStdString());//通過圖像路徑導入原始文件//定義新的Mat來存放調節飽和度后的圖像信息(數據)Mat temp=Mat::zeros(m_Mat.size(),m_Mat.type()) ;//定義備用變量float minVal,maxVal;//像素點的三基色的最大值,最小值float delta;//(maxVal-minVal)/255.0;float value;//(maxVal+minVal)/255.0;float L,S,alpha;//RGB圖像空間轉化為HSL(H色調,S飽和度,L亮度)//開始處理for (int i = 0; i < m_Mat.rows; ++i) {for (int j = 0; j < m_Mat.cols; ++j) {//1.計算每個像素點關于RGB的最大值、最小值uchar b = m_Mat.at<Vec3b>(i,j)[0];uchar g = m_Mat.at<Vec3b>(i,j)[1];uchar r = m_Mat.at<Vec3b>(i,j)[2];maxVal = max3(r,g,b);minVal = min3(r,g,b);if(maxVal == minVal){continue;}//灰點不做處理//2.delta為兩值之差/255,value為兩值之和/255delta = (maxVal-minVal)/255.0;value = (maxVal+minVal)/255.0;//3.把RGB圖像轉換成HSL圖像(Hue色彩,Saturability飽和度,Light亮度)//HSL中的L(亮度)值L=value/2;//HSL中的S(飽和度)值if(L<0.5){S = delta/value;}else if(L>=0.5){S=delta/(2-value);}//改變圖像飽和度if(arg1>=0){//提高飽和度if(arg1+S>=1){alpha = S;}else{alpha = 1-arg1;}alpha = 1/alpha-1;temp.at<Vec3b>(i,j)[0]=saturate_cast<uchar>(m_Mat.at<Vec3b>(i,j)[0]+(m_Mat.at<Vec3b>(i,j)[0]-L*255)*alpha);temp.at<Vec3b>(i,j)[1]=saturate_cast<uchar>(m_Mat.at<Vec3b>(i,j)[1]+(m_Mat.at<Vec3b>(i,j)[1]-L*255)*alpha);temp.at<Vec3b>(i,j)[2]=saturate_cast<uchar>(m_Mat.at<Vec3b>(i,j)[2]+(m_Mat.at<Vec3b>(i,j)[2]-L*255)*alpha);}else{//降低飽和度alpha = arg1;temp.at<Vec3b>(i,j)[0]=L*255.0+((m_Mat.at<Vec3b>(i,j)[0])-L*255.0)*(alpha+1);temp.at<Vec3b>(i,j)[1]=L*255.0+((m_Mat.at<Vec3b>(i,j)[1])-L*255.0)*(alpha+1);temp.at<Vec3b>(i,j)[2]=L*255.0+((m_Mat.at<Vec3b>(i,j)[2])-L*255.0)*(alpha+1);}}}//刷新圖像QImage img = cvMat_To_Qimage(temp);img = img.scaled(ui->label_2->geometry().width(),ui->label_2->geometry().height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);ui->label_2->setPixmap(QPixmap::fromImage(img)); }?
總結
- 上一篇: 色相、明度及饱和度
- 下一篇: Python爬虫豆瓣电影top250