2013-05-10 48 views
3

在我的應用我有以下的代碼由20有沒有更快的方法來在OpenCV中應用亮度?

for(int y = 0; y < src.rows; y++) 
    { 
     for(int x = 0; x < src.cols; x++) 
     { 
      for(int c = 0; c < 3; c++) 
      { 
       src.at<cv::Vec3b>(y,x)[c] = cv::saturate_cast<uchar>((src.at<cv::Vec3b>(y,x)[c]) + 20); 
      } 
     } 
    } 

改變像素的亮度是否有應用此效果的更有效的方法?

+1

在某種程度上,這將不得不做任何事。這似乎是你能夠達到的最高效率。這也是opencv教你做到這一點的方式。 – 2013-05-10 01:22:28

回答

2

我不明白,爲什麼你不能/不會簡單地使用:

src = src + cv::Scalar(20,20,20); 

這會不會做的工作?

相關問題