我正在尝试将 RGB 转换为灰度。但输出与原始视频相同。请让我知道此代码中的错误。这将非常有帮助。
IplImage *myimage = cvCreateImage(cvGetSize(videoFrame),IPL_DEPTH_8U, 3);
cvZero(myimage);
CvScalar pixelvalue, setpixelvalue;
for (int i=0;i<videoFrame->height;i++)
{
for (int j=0;j<videoFrame->width;j++)
{
pixelvalue = cvGet2D(videoFrame, i, j);
int b= pixelvalue.val[0];
int g= pixelvalue.val[1];
int r= pixelvalue.val[2];
int gc= r*0.299+g*0.587+b*0.114;
setpixelvalue.val[0]=gc;
cvSet2D(myimage, i, j, setpixelvalue);
cvSet2D(myimage, i, j, pixelvalue);
}
}