OpenCV和Matlab之间的像素值略有差异

时间:2019-09-11 12:56:31

标签: image matlab opencv computer-vision

我正在尝试将一些旧的matlab代码移植到python。我选择OpenCV是因为我熟悉该库。尽管如此,我发现结果还是有些不同(该程序对纹理的细微变化非常敏感),而且我发现即使只是从磁盘读取图像,像素值也存在明显差异(我认为这可能是某些抗锯齿或奇怪的行为)重新校准,但即使在进行任何修改之前也可以在那里

我知道不同的颜色顺序(默认情况下在matlab中为RGB,在OpenCV中为BGR),但有时像素值有时仍会以+ -2单位(每彩色图像8位)偏移。参见下面的屏幕截图,在matlab中,第二个像素为5-14-9(RGB),其5-14-11。第一个像素的值完全相同。

https://github.com/NuGet/Home/issues/8580

我想不出任何方法来检查matlab正在执行的精确转换/舍入,或者为什么这首先与众不同。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

确定要查看正确的像素吗? Matlab和Python在索引方面有所不同,在Matlab中,第一个索引是1,在Python中,第一个索引是0。

我的猜测是,您应该将Matlab像素[2,1]与索引0处的Python像素值进行比较,该值类似于Matlab中的5-14-11。