如何在Matlab中将PPM图像转换为JPG?

时间:2018-07-02 20:07:40

标签: matlab image-compression ppm image-conversion image-formats

我有一些用imread()读取的PPM图像(立体声),并且我想将具有相同质量因数的相同图像保存为JPEG。 这是我的代码。

%Read PPM image
L = imread(filename_L);

%Create JPEG Q85 from PPM
filename_L85 = strcat(filename_L,'_ppm_to_jpeg.jpg');
imwrite(L,filename_L85,'JPEG','Quality',85);

这是我得到的错误。

Error using imwrite>parse_inputs (line 528)
The colormap should have three columns.

Error in imwrite (line 418)
[data, map, filename, format, paramPairs] = parse_inputs(varargin{:});

Error in testFinale (line 75)
    imwrite(L,filename_L85,'JPEG','Quality',85);

如何编写以前以PPM格式读取的JPEG图像? 谢谢

1 个答案:

答案 0 :(得分:0)

可能只是与您的'JPEG'情况有关,imwrite文档将文件类型的参数指定为小写。

除此之外,您甚至可能不需要它,因为文件类型是从扩展名派生的,在这种情况下,扩展名已经明确设置为.jpg。

所以您可以选择:

imwrite(L,filename_L85,'jpeg','Quality',85);

甚至更容易:

imwrite(L,filename_L85,'Quality',85);