【问题标题】:Is it possible read pixels from a jpeg file determenistically across all platforms?是否可以在所有平台上确定性地从 jpeg 文件中读取像素?
【发布时间】:2015-02-09 11:49:00
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您可以手动解码 jpeg 吗?
  • 没有。 - opencv 甚至可以针对不同系统上的不同 jpeg 库进行编译。如果可以的话,避免任何与计算机视觉相关的 jpg 图像。

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


【解决方案1】:

实际上,没有。同一库的不同版本之间的像素可能不同,甚至平台之间同一库的相同版本也可能不同。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2010-10-26
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    相关资源
    最近更新 更多