2014-02-06 182 views
0

我試圖將這裏發現的圖像pgm image轉換爲jpg,但是我不能。我試過了發現here的問題的答案,但它沒有奏效。所以,如果有人可以請指教。將pgm圖像轉換爲jpg Matlab

+0

你確定該文件沒有損壞?即使imagemagick的「識別」工具也無法讀取它。你有其他文件嗎?你能在其他程序中打開這個文件嗎? – Marcin

+0

我試過使用GIMP打開它,但它沒有工作,這就是爲什麼我認爲可能會有另一個問題。我會檢查另一個文件,並會回覆你 – Tak

回答

3

的問題是在你的文件頭:

Pf 640 480 9757 

根據Wikidepidathis man page你的文件應該使用P2(用於graymap的),而不是Pf(這似乎是無效的在所有情況下):

P2 640 480 9757 

有了這麼小的改動(在文本編輯器中創建),您的文件可以正常打開。

+0

非常感謝你Schorsch(Y) – Tak

+0

我現在試圖將這個文件轉換爲.jpg使用問題中提出的答案,但它給出了這個錯誤「UINT16圖像數據要求bitdepth專門設置爲12或16。「有什麼建議嗎? – Tak

+1

檢查[文檔](http://www.mathworks.com/help/matlab/ref/imwrite.html)!向下滾動,直到找到**'BitDepth' - 每個像素的位數** - 你會發現它。 – Schorsch

1

如果您需要更多面孔,請使用Cambridge's database
並在您的link中執行此操作。

$> im = imread('file.pgm');

$> imwrite(im,'nameForJpg.jpg');

就是這樣!

祝你好運!

長壽而繁榮!