PDA

查看完整版本 : [求助]imwrite()保存图象DPI怎么控制


wbgsue
2008-06-30, 17:16
imwrite()保存图象默认DPI仅为72,满足不了出图要求,怎么控制啊?:cry:

wbgsue
2008-07-06, 17:22
没人回答?

未注册
2008-07-08, 14:45
Im=imread('pic.jpg');
imwrite(Im,'testdpi.tif', 'tiff', 'Resolution',300);
然后就会在MATLAB的工作目录下(一般为work文件夹)生成一个名为

testdpi.tif的图像文件,并且DPI为300(右击/属性/摘要/高级)。
由于.tif格式的图像是没有压缩的,所以文件比较大。
最后,用ACDSee软件将该图像文件转换成JPEG格式就行了。
用ACDSee软件转换生成的.jpg格式的文件DPI仍然为300。

我搞了一上午才发现了这套方法。从MATLAB的help里搜索imwrite,发

现的。tiff格式图像是矢量图,没有压缩损失,据说可以任意缩放。用

MATLAB生成的图像文件,先保存成eps或tiff格式的文件,再用ACDSee软件

转换成其他格式的文件,是一个不错的方法!!!

baltaM
2008-07-08, 17:47
加上whole试试

wbgsue
2008-07-09, 09:32
加上whole试试

?:ft: 加在那里啊?

图象切割后DPI300的图象DPI就变成72
fname='*.jpg'
fname1=strrep(fname,'.jpg','-1.jpg');
imfinfo(fname);
ax=ans.Width;
ay=ans.Height;
X=imread(fname);
X1=imcrop(X,[0 0 ax/2 ay/2]);
X12=imresize(X1,2,'bilinear');
imwrite(X12,fname1,'Quality',100);

wbgsue
2008-07-19, 08:06
谢谢啊!!!