我遇到了一个问题,我发现JPEG图像中的像素可能会略有不同,具体取决于我用来阅读它们的计算机。我主要是一名Python程序员,我更喜欢使用opencv来阅读我的图像,但我并不反对使用PIL做某事或用C阅读图像。
根据这篇文章 JPEG images have different pixel values across multiple devices
允许不同的解码器稍微改变它们的输出,所以我觉得我的问题的答案是否定的。但是我想我还是明确地问它,以防万一我误解了某些东西,或者这是一个问题,我必须确保opencv是针对特定jpeg的相同版本构建的图书馆。
有没有办法可以读取jpeg文件(最好使用opencv),以便在我运行代码的任何平台上获得相同的像素值?
答案 0 :(得分:1)
在实践中,没有。像素可能在同一个库的不同版本之间有所不同,甚至在平台之间也可能是同一个库的相同版本。
理论上,如果在需要支持的所有平台上使用 exact 相同的算法/软件,您将获得相同的像素值。但我认为这意味着您必须自己编写解码器,或者至少阅读大量源代码并自行配置和编译已知的库。