matlab图像处理(一)--图片读写

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);

posted on 2011-01-31 15:44  carekee  阅读(1261)  评论(0)    收藏  举报