2014-02-06 143 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');

就是这样!

祝你好运!

长寿而繁荣!