【问题标题】:reading pgm images with cv2 in python在 python 中使用 cv2 读取 pgm 图像
【发布时间】:2016-07-25 02:28:57
【问题描述】:

我想在 python 中读取 pgm 图像。我使用 cv2.imread('a.pgm') 但它返回错误的结果。在 Matlab 中,我使用 imread 并获得正确的结果,即单通道 16 位图像。但是python中的cv2.imread返回的是3通道图像,像素值也是错误的。 为什么会发生? 我应该如何在 python 中读取 16 位 pgm 图像? 还有哪些库?

提前致谢。

【问题讨论】:

  • OpenCV supports PGM images。请分享您的代码/输出/结果/错误。
  • 仅使用 Numpy 的 This answer 可能会有所帮助。请注意,某些程序使用本机字节序而不是大字节序,但看起来答案的代码可以处理。
  • 尝试使用与此等效的python:imread("path_to_image", IMREAD_UNCHANGED)。您的图像应该与 matlab 相同,但最终会因比例因子而有所不同。

标签: python opencv pgm


【解决方案1】:

你也可以使用 skimage.io 库

from skimage.io import imread
image = imread("a.pgm")

【讨论】:

    【解决方案2】:

    我明白了。

    cv2.imread('a.pgm',-1) 
    

    有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 2019-01-04
      • 2021-11-10
      • 2016-06-13
      • 1970-01-01
      相关资源
      最近更新 更多