我试图增加加载图像的亮度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 - 我知道。 –