Matlab与Opencv图像中像素值的差异



我从avi视频中获取帧,用Matlab打开彩色图像,检查三个通道R,G,B的像素值。(例1)

之后,我使用opencv2.4.3获取帧并通过txt文件保存像素值。然后,我检查txt文件,我意识到像素值与Matlab不同(我知道opencv打开的彩色图像是BGR,并且像素的索引位置必须是- 1(在Matlab中,像素位置(x,y))。在c中,pixelposition (x-1,y-1))。(2)

最后,我使用opencv通过cvSaveImage函数保存帧,然后我用Matlab打开这个帧。在这种情况下,像素值也不同于上述两种情况。

为什么会这样?

谢谢你的回答!对不起,我的英语不好!

这是我的代码http://www.scribd.com/doc/129263549/Code(必须下载才能阅读)

Matlab和OpenCV有不同的像素值存储方式。Matlab使用压缩在存储。jpeg图像之前保存它们。因此,如果您在Matlab和OpenCV中查看类似图像的像素数据,它看起来会有所不同。

如果在Matlab和OpenCV中加载并保存相同的源图像,前者将在大小上小于后者;即使你没有对图像做任何操作

没有办法使两个图像数据看起来相同。幸运的是,对映像执行的任何操作都不会受到内部结构差异的影响。例如,如果您尝试在Matlab和OpenCV中找到某些像素的索引,两者都会给出正确的值,尽管值看起来不一样。

相关内容

  • 没有找到相关文章

最新更新