2016-04-05 113 views
3

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

在此先感谢。

+0

[OpenCV支持PGM图像](http://docs.opencv.org/3.1.0/d4/da8/group__imgcodecs.html#gsc.tab=0)。请分享您的代码/输出/结果/错误。 –

+0

[这个答案](http://stackoverflow.com/a/7369986/4014959),它只是使用Numpy,可能会有所帮助。请注意,一些程序使用本地端而不是大端,但它看起来像答案的代码处理。 –

+1

尝试使用相当于这个的python:'imread(“path_to_image”,IMREAD_UNCHANGED)'。你的图像应该与matlab相同,最终会因比例因素而不同。 – Miki

回答

3

我明白了。 cv2.imread('a.pgm', - 1)的作品。