如何在Matlab中保存没有压缩的jpeg图像?
问题描述:
如何在Matlab中保存没有压缩的jpeg图像?如何在Matlab中保存没有压缩的jpeg图像?
我试图
targetImageFile = 'skype2.png';
targetImage = imread(targetImageFile);
imwrite(targetImage,'output.png','Compression','none',...
'WriteMode','append');
不过,我
input:
compressionRatio = 1.992735e+000
output:
compressionRatio = 2.090858e+000
谢谢您的建议。
答
目前还不清楚是否正在试图保存在JPEG或PNG格式的图像(你的问题和代码示例分别使用不同的东西),但如果你看看文档IMWRITE你会发现,无论这些格式的使用'Compression'
或'WriteMode'
参数。 TIFF和HDF4格式使用这两个参数。
对于JPEG format,您可以调整'Mode'
或'Quality'
属性以减少图像的压缩。 PNG format使用无损压缩。如果你想避免所有的压缩(有损或无损),你可以将图像保存为BMP格式。
这里有保存不同格式的图像和几个例子输出图像的生成的文件大小:
X = imread('peppers.png'); %# Sample image: 589,824 bytes of data
imwrite(X,'peppers.bmp'); %# Bitmap output: 589,878 byte output file
imwrite(X,'peppers.png'); %# PNG output (lossless): 287,589 byte output file
imwrite(X,'peppers.jpg'); %# JPEG output (lossy): 23,509 byte output file
imwrite(X,'peppers.jpg',... %# JPEG output (lossy): 144,068 byte output file
'Quality',100);
imwrite(X,'peppers.jpg',... %# JPEG output (lossless): 306,061 byte output file
'Mode','lossless');
答
如果你想不压缩,那么可以肯定你想要一个位图('bmp'
)?如果你想要无损压缩,那么你需要'mode'
为'lossless'
为'jpg'
。 'png'
已经是一种无损格式。
'Compression'
只是'tiff'
格式的选项。
看,http://www.mathworks.com/help/techdoc/ref/imwrite.html#f25-713936
PNG或JPEG - 这是它? – 2010-10-11 16:07:37
我可以问你如何得到/计算压缩比率?谢谢 – Alex 2017-08-07 21:17:34