如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数字图像处理一、实验名称:数字图像处理基本操作。二、实验内容:1、图像转置:将图像的第一行像素变为第一列,第二行变为第二列,以此类推;2、图像拆分:将一幅M×2N的图像拆分为两幅M×N的图像,第一幅对应原图像的1至N列,第二幅对应原图像的N+1至2N列;3、图像拼接:将两幅尺寸分别为M×N1和M×N2的图像拼接为一幅M×(N1+N2)图像;4、算术操作:分别对图像进行加,减,乘,除四种算术操作;5、几何空间变换:分别对图像进行尺寸,旋转,平移,偏移等操作;6、均值、标准差:求几幅相近图像的均值,标准差,比较并说明图像均值,标准差的意义。三、实验结果及程序代码1、图像转置:用Matlab中求矩阵转置运算(‘’’)的方法来处理图像对应的矩阵,从而实现图像的转置。Matlab程序如下:>>clear>>f=imread('001.tif');>>g=f';>>subplot(1,2,1);imshow(f);subplot(1,2,2);imshow(g);实验结果如下图一所示:图一图一中第一幅图像为原图,第二幅图像为原图的转置。2、图像拆分:处理图像相应的矩阵f,用函数size()求得矩阵的行列数分别为:M、N,取此矩阵的1至N/2列元素为f1,(N/2)+1至N列元素为f2,则矩阵f1,f2所对应的图像即为拆分的结果。Matlab程序如下:>>clear>>f=imread('001.tif');>>[M,N]=size(f);>>f1=f(:,1:N/2);>>f2=f(:,(N/2)+1:N);>>subplot(1,3,1);imshow(f);subplot(1,3,2);imshow(f1);subplot(1,3,3);imshow(f2);实验结果如下图二所示:图二图二中第一幅图像为原图,第二,三幅图为拆分原图得到的图像。3、图象拼接:要求所拼接的两幅图象宽度相同,即它们对应矩阵f1,f2有相同的行数,先用函数size()分别求得f1,f2的行列数,若行数不同,再重新选图(因为本题只针对行数相同的图象进行拼接),行数相同时,记f1,f2的列数分别为N1,N2,构造矩阵f,f的前N1列元素为f1中的元素,后N2列元素为f2中的元素,矩阵f对应的图象即为拼接好的图象。Matlab程序如下:>>clear>>f1=imread('228a.tif');>>f2=imread('228b.tif');>>size(f1)ans=420420>>size(f2)ans=420420>>f=[f1,f2];>>subplot(1,3,1);imshow(f1);subplot(1,3,2);imshow(f2);subplot(1,3,3);imshow(f);实验结果如下图三所示:图三图三中第一,二幅图为要进行拼接的图象,第三幅图象即为拼接所得的结果。4、算术操作:⑴加法:I、用函数imnoise()给图象加一个高斯噪声:Matlab程序如下:>>clear>>f=imread('0226.tif');>>f1=im2double(f);>>g=imnoise(f1,'gaussian',0,0.05);>>g1=im2uint8(g);>>subplot(1,2,1);imshow(f);subplot(1,2,2);imshow(g1);实验结果如下图四所示:图四图四中第一幅图象为原图,第二幅图象为在原图上加上高斯噪声的结果。II、利用加法除去图象的加性噪声:先编写一个M-File,作用是:给原图加上m个均值为0的高斯噪声,再除m+1求得平均值。可知:m越大,所得到的图象就越接近无噪声图象。M-File如下:functionavg=image_avg(x,m)x=im2double(x);fori=1:mJ(:,:,i)=imnoise(x,'gaussian',0,0.05);endforj=1:mx=imadd(x,J(:,:,j));endavg=x/(m+1);分别取m为:5,10,20,40,80,观察并比较所得的图象。Matlab程序如下:>>clear>>f=imread('0226.tif');>>z5=image_avg(f,5);>>z10=image_avg(f,10);>>z20=image_avg(f,20);>>z40=image_avg(f,40);>>z80=imag