1、实验一 图像基本运算实验一 图像基本运算实验目的:1. 熟悉Matlab的使用和矩阵运算;2. 掌握图片的读写显示;3. 熟悉图像的算术运算。实验内容:1、 以下两个矩阵A和B:(1)计算A+B、A-B、A.* B、A*B、A./B和A/B。(2)计算A&B 、 A|B、 A和B。(3)判断B中哪些元素值大于4,将其置1,其它点置0。以上题目先自己简单计算一下,如果Matlab得到的结果和自己算的不一样,分析原因。 A=1 0 0;1 1 0;0 0 1, B=2 3 4;5 6 7;8 9 10A = 1 0 0 1 1 0 0 0 1B = 2 3 4 5 6 7 8 9 10(1) A+
2、Bans = 3 3 4 6 7 7 8 9 11 A-Bans = -1 -3 -4 -4 -5 -7 -8 -9 -9 A.*B (数组乘)ans = 2 0 0 5 6 0 0 0 10 A*B (矩阵乘)ans = 2 3 4 7 9 11 8 9 10 A./B (数组右除)ans = 0.5000 0 0 0.2000 0.1667 0 0 0 0.1000 A/B (矩阵右除)Warning: Matrix is singular to working precision.ans = NaN Inf -Inf NaN -Inf Inf NaN Inf -Inf(NaN表示非数,I
3、nf表示无穷。)(2) A&Bans = 1 0 0 1 1 0 0 0 1 A|Bans = 1 1 1 1 1 1 1 1 1 Aans = 0 1 1 0 0 1 1 1 0 Bans = 0 0 0 0 0 0 0 0 0(3) B4ans = 0 0 0 1 1 1 1 1 1或者: C=4 4 4;4 4 4;4 4 4; BCans = 0 0 0 1 1 1 1 1 12、 (1)仿照课本例2.1(a),读入肺部图片lung.bmp,并显示出来。(2)直接读入chest.tif并显示,效果怎样?如何改进图片效果?(1) f=imread(lung.bmp); whos f im
4、show(f)(2) g=imread(chest.tif); imshow(g);title(直接显示);效果不好,动态范围较低。改进的方法: figure,imshow(g,);title(改进效果后);3、仿照课本例2.5,对一幅图像进行反转,提取图像的一部分和二次取样。反转: f=imread(rose_512.tif); fp=f(end:-1:1,:); imshow(fp)一次取样: fc=f(257:768,257:768); imshow(fc)二次取样: fs=f(1:2:end,1:2:end); imshow(fs);隔行采集,图像缩小为原来的一半。4、课本P30例2.
5、6创建一个M-file文件improd内容如下:function p,pmax,pmin,pn=improd(f,g)fd=double(f);gd=double(g);p=fd.*gd;pmax=max(p(:);pmin=min(p(:);pn=mat2gray(p);然后在命令台键入: f=1 2;3 4,g=1 2;2 1; p,pmax,pmin,pn=improd(f,g)5(提高题)、学习数字减影造影术的原理,根据给出的图片做出清晰的血管图像。 a=imread(angiography_live_ image.tif); b=imread(angiography_mask_image.tif); c=imabsdiff(a,b); imshow(c,);实验小结:此次实验较简单,按照书本上的步骤很很快地完成,这次使我们熟悉了Matlab的使用和矩阵运算,也掌握图片的读写显示,熟悉图像的算术运算。知识学得较好。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1