「大腦」生長系列(五)

  • 2020 年 4 月 10 日
  • 筆記

上一篇我們介紹了改變影像大小的方法,今天我們來介紹一下如何通過OpenCV來改變影像的亮度和對比度。

亮度:亮度是指發光體(反光體)表面發光(反光)強弱的物理量。一個比較抽象的解釋,哈哈。

對比度:對比度指的是一幅影像中明暗區域最亮的白和最暗的黑之間不同亮度層級的測量,差異範圍越大代表對比越大,差異範圍越小代表對比越小。還是比較抽象,哈哈。

這麼抽象,還是先不管他了,我們來看看OpenCV提供了什麼樣的介面(Mat類的一個方法):

void convertTo( OutputArray m, int rtype, double alpha=1, double beta=0 ) const

參數說明:

m: 轉換後的目標影像

rtype:轉換後的目標影像的數據格式(默認與原圖一致)

alpha:亮度的調整參數

beta:對比度的調整參數

程式碼演示

int main(int argc, char *argv[])  {   //調整對比度和亮度   Mat src = imread("3.jpg");   Mat des2;   src.convertTo(des2, -1, 2.0, 50);   namedWindow("src");   namedWindow("des2");   imshow("src", src);   imshow("des2", des2);   waitKey(0);   return 0;  }

源圖

更改亮度對比度後的圖