是否有可能在所有平台上从一个jpeg文件中读取像素?

时间:2014-12-11 04:19:43

标签: python c opencv jpeg python-imaging-library

我遇到了一个问题,我发现JPEG图像中的像素可能会略有不同,具体取决于我用来阅读它们的计算机。我主要是一名Python程序员,我更喜欢使用opencv来阅读我的图像,但我并不反对使用PIL做某事或用C阅读图像。

根据这篇文章 JPEG images have different pixel values across multiple devices

允许不同的解码器稍微改变它们的输出,所以我觉得我的问题的答案是否定的。但是我想我还是明确地问它,以防万一我误解了某些东西,或者这是一个问题,我必须确保opencv是针对特定jpeg的相同版本构建的图书馆。

有没有办法可以读取jpeg文件(最好使用opencv),以便在我运行代码的任何平台上获得相同的像素值?

1 个答案:

答案 0 :(得分:1)

在实践中,没有。像素可能在同一个库的不同版本之间有所不同,甚至在平台之间也可能是同一个库的相同版本。

理论上,如果在需要支持的所有平台上使用 exact 相同的算法/软件,您将获得相同的像素值。但我认为这意味着您必须自己编写解码器,或者至少阅读大量源代码并自行配置和编译已知的库。