在 MATLAB 中,我读取了一个彩色视频,提取某个帧并使用该rgb2gray函数将其转换为灰度图像。但是当我使用 OpenCV2.3.1 加载相同的视频时,提取相同的帧然后将其转换为灰度它不会'不会给出与 MATLAB 相同的灰度值。这是为什么?
这是使用 OpenCV 的 C++ 代码:
VideoCapture cap(0);
cap.open("Human sperm evaluation_0.avi");
Mat image;
Mat gray(480,640,CV_8U);
for(int i=0;i<513;i++)
{
cap>>image;
cvtColor(image,gray,CV_RGB2GRAY);
}
for(int i=0;i<20;i++)
{
for(int j=0;j<20;j++)
{
cout<<(int)gray.at<uchar>(i,j)<<' ';
}
}
Run Code Online (Sandbox Code Playgroud)