我試圖增加加載圖像的亮度img
,但是要循環使用更小的矩陣[我將用於稍後應用高斯模糊]的像素。這裏是我的功能:無法循環矩形圖像矩陣的所有像素
void Dobright(cv::Mat &in,IplImage * img)
{
uchar* temp_ptr ;
for(int row = 0; row < in.rows; row++)
{
for (int col = 0; col < in.cols; col++)
{
CvPoint pt = {row,col};
temp_ptr = &((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x*3];
temp_ptr[0] += 100;
temp_ptr[1] += 100;
temp_ptr[2] += 100;
}
}
}
但是,如果原始圖像是:
我得到的亮形象:
正如你可以看到一些零部件比其他的更亮,因爲行和列不相同,因此整個圖像的像素不被訪問,如何解決這個問題?
你知道有OpenCV函數用於應用高斯模糊以及縮放矩陣的函數嗎? (例如cv :: Mat :: convert()) – Unapiedra
@Unapiedra - 我知道。 –