(本人注:尤其是最后一行的imwrite,参数缺一不可。)
1.读入图片:imread('filename')
如:f=imread('chest.jpg');
注意:1.括号内为单引号,注意与C区分
2.命令行最后为冒号,否则会吃苦头的哦,呵呵
3.保证图片chest.jpg在当前目录下,否则要给出图片的完全路径
如:f=imread('D:\myimages\chest.jpg');
4.filename后要跟图片格式后缀。
2.显示图片:imshow(f,[ ])
注:上述为推荐使用方式,即使用imshow(f),也可以,二者之间的区别可以从下面两幅图的显示上看出
imshow(f)imshow(f,[ ])
第一幅图片的灰度级较小,而,通过imshow(f,[ ])后它的灰度级范围得到拉伸。
imshow(f,[ ])是imshow(f,[ min high])的特例,即将f的实际最小对应到min,而其最大灰度级对应到max。
而对于f中小于等于min的灰度级显示为黑色,大于等于max的灰度级显示为白色。
3.写入图片:imwrite(f,'filename')
其中对于JEPG格式的图片有
imwrite(f,'filename.jpg','quality',q) 0<=q<=100
下面看一个简单的小程序:
for q=0:5:100
filename=sprintf('series_%3d.jpg',q);
imwrite(f,filename,'quality',q);
end
此程序写入quality=0,5,10.......共21种quality的图片,下面看下quality分别为0、5、15、25、50以及原图的显示
其中对于TIF格式的图片有:
imwrite(g,'filename.tif','compression','parameter','resolution',[colres rowres])
注:compression:压缩比率
parameter:none/packbits/ccitt
resolution:分辨率
例如:原始图片为:jpg格式,200dpi,450*450
由450/200=2.25,知 宽*高=2.25*2.25,要使其变为宽*高=1.5*1.5,不损失pixels,知compression为none
resolustion=200*2.25/1.5=300
于是: imwrite(f,'jinpeng.tif','compression','none','resolution',[300 300])
也可以如下显示:
res=round(200*2.5/1.5);
imwrite(f,'jinpeng.tif','compression','none','resolution',res);