gpt4 book ai didi

matlab - 同一图像的 OpenCV 和 MATLAB 灰度值不同

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:36 25 4
gpt4 key购买 nike

在 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)<<' ';
}
}

最佳答案

首先,OpenCV 中的所有彩色图像都是 BGR 而不是 RGB,所以问题之一可能是 OpenCV 进行了错误的转换。你应该使用 BGR2GRAY。其次,如果我在 matlab 中记得很清楚,你应该指定图像中的值范围。对于灰度图像,您必须输入 0 到 255 之间的值。

希望对您有所帮助。

关于matlab - 同一图像的 OpenCV 和 MATLAB 灰度值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12282421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com