资源描述:
《实验报告二 Matlab图像代数运算和几何变换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二Matlab图像代数运算和几何变换一、实验目的1、掌握不同图像类型的转换2、掌握图像代数运算和几何变换的方法;3、掌握灰度级插值法的实验方法。二、实验内容1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(p69-73);2、练习课本6.3.2(p139-p143)图像代数运算的内容;3、练习图像平移(p148),图像比例变换(p153),图像旋转(p156),图像镜像变换(p158),图像切割(p
2、160)Matlab实现例题;4、练习灰度级插值法(p171)。三、实验步骤和结果1、练习图像类型转换的相关命令(ind2rgb,mat2gray,grayslice,rgb2gray,rgb2ind,im2bw,ind2gray,dither)(1)mat2gray()函数I=imread('rice.png');>>J=filter2(fspecial('sobel'),I);>>K=mat2gray(J);>>imshow(I);>>figure,imshow(K)(2)、grayslice()函数>>I=im
3、read('snowflakes.png');>>X=grayslice(I,16);>>imview(I)imview(X,jet(16))(3)、rgb2ind()函数>RGB=imread('peppers.png');>>imshow(RGB);>>figure,imshow(RGB)>>[X,map]=rgb2ind(RGB,128);>>figure,imshow(X,map)(4)、im2bw()函数>>loadtrees>>BW=im2bw(X,map,0.4);>>figure,imshow(X,m
4、ap)>>figure,imshow(BW)(5)、ind2gray()函数loadtrees>>I=ind2gray(X,map);>>figure,imshow(X,map)>>figure,imshow(I)(6)、dither()函数>>RGB=imread('peppers.png');>>[X,map]=rgb2ind(RGB,256);>>I=dither(RGB,map);>>BW=dither(I);>>imshow(RGB,map);>>figure,imshow(RGB,map);>>figur
5、e,imshow(BW)Result:(1)转换后图像(2)索引色图像(3)索引色图像(4)索引色图像(4)二值化后的图像(5)转换后的灰度图像(6)索引色图像(6)抖动转换图像2、练习课本6.3.2(p139-p143)图像代数运算的内容(1)加法运算I=imread('rice.png');>>figure(1),imshow(I,[])>>I2=imread('cameraman.tif')>>figure(2),imshow(I2,[])>>K=imadd(I,I2,'uint16');>>figure(3)
6、,imshow(K,[])>>I=imread('lena.bmp');>>I2=imadd(I,50);>>figure(1),imshow(I)>>figure(2),imshow(I2)(2)、减法运算>>I=imread('rice.png');>>I2=imread('cameraman.tif');>>I3=imsubtract(I,I2);>>figure,imview(I3)(3)乘法&除法运算>>I=imread('lena.bmp');>>I2=immultiply(I,0.5);>>figure
7、,imshow(I)>>figure,imshow(I2)>>I3=immultiply(I,1.5);>>figure,imshow(I3)>>I4=imdivide(I,0.5);>>figure,imshow(I4)>>I5=imdivide(I,1);>>figure,imshow(I5)Result:(1)加法运算后的图像(1)加入常数后的图像(2)减法运算(3)乘以0.5后的图像乘以1后的图像除以0.5后的图像除以1后的图像3、练习图像平移(p148),图像比例变换(p153),图像旋转(p156),图像
8、镜像变换(p158),图像切割(p160)Matlab实现例题;(a)图像平移>>I=imread('trees.tif');>>figure,imshow(I)>>I=double(I);>>I_movesult=zeros(size(I));>>H=size(I);>>Move_x=50;>>Move_y=50;>>I_movesult(M