欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Matlab读和写图像需要注意的问题

发布时间:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Matlab读和写图像需要注意的问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

(本人注:尤其是最后一行的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);

总结

以上是生活随笔为你收集整理的Matlab读和写图像需要注意的问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。