2016-04-05 107 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)的作品。