【发布时间】:2017-01-06 17:52:31
【问题描述】:
我想在opencv中将colorBGR图像转换为灰度,而不使用直接命令CV_RGB2GRAY。在这里我上传了我的代码,它给了我一个蓝色的图像,这不是一个正确的 grey 输出图像。请检查下面的代码并告诉我哪里出错了,或者你可以给我另一种解决方案,将彩色图像转换为 grey 输出图像而不使用 CV_RGB2GRAY。 提前致谢。
Mat image=imread("Desktop\\Sample input\\ip1.png");
Mat grey( image.rows,image.cols, CV_8UC3);
for(int i=0;i<image.rows;i++)
{
for(int j=0;j<image.cols;j++)
{
int blue = image.at<Vec3b>(i,j)[0];
int green = image.at<Vec3b>(i,j)[1];
int red = image.at<Vec3b>(i,j)[2];
grey.at<Vec3b>(i,j) = 0.114*blue+0.587*green+ 0.299*red ;
}
}
imshow("grey image",grey);
【问题讨论】:
标签: opencv