1、用matlab程序实现同时对比度实验空间分辨率变化效果实验幅度分辨率变化效果作业11.用matlab程序实现同时对比度实验。程序代码如下:clearm=256;n=256;groun d_gray1=200;X1=on es( m,n )*gro un d_gray1; groun d_gray2=100;X2=on es(m, n)*gro un d_gray2; before_gray=150;m0=100;n 0=100;step=50;X1(m0:m0+step ,n0:n0+step)=before_gray; figure;imshow(ui nt8(X1);X2(m0:m0+st
2、ep ,n0:n0+step)=before_gray; figure;imshow(ui nt8(X2);得到的图像如下:2.用matlab程序实验空间分辨率变化效果。clearX=imread( picture1.jpg );figure;imshow(ui nt8(X);m, n=size(X);X1=X(1:2:m,1:2: n);figure;imshow(ui nt8(X1);imwrite(X1, picture1.jpg );得到的图形如下3.用matlab程序实验幅度分辨率变化效果clearX=imread( picture1.jpg ); mm,nn=size(X);for
3、 i=1:mm for j=1:nn X128(i,j)=2*(ceil(X(i,j)/2);end end for i=1:mmfor j=1:nnX64(i,j)=4*(ceil(X(i,j)/4); end end for i=1:mmfor j=1:nnX32(i,j)=8*(ceil(X(i,j)/8); end end figuresubplot(2,2,1); imshow(uint8(X);title( 256 级 );subplot(2,2,2); imshow(uint8(X128);title( 128 级 );subplot(2,2,3); imshow(uint8(X
4、64);title( 64 级 );subplot(2,2,4); imshow(uint8(X32);title( 32 级 );得到的图像如下);none);作业21.用matlab作出图像的直方图程序代码如下:clear;A = imread( picture2.jpg I = rgb2gray(A);add =;tab1 = zeros(1,256);for n = 0:255;X = I = n;add = add; sum(sum(X); end;a, b = size(I); final = add / (a*b); figure;stem(fi nal, Markerfigur
5、e(2);imshow(I);得到的图像如下0.706 ”0 5040.32.用matlab实现图像的直方图均衡化程序代码如下:clear allm=imread( picture2.jpg );A = rgb2gray(m);m, n=size(A); B=zeros(size(A);l=m*n; r=zeros(1,256); y=zeros(1,256); A=double(A); for i=1:m for j=1:n r(A(i,j)+1)=r(A(i,j)+1)+1;endendr=r./l;for k=1:256for j=1:k y(k)=y(k)+r(j);endendfor
6、 k=1:256y(k)=floor(255*y(k)+0.5); endfor i=1:mfor j=1:nB(i,j)=y(A(i,j)+1);endendA=uint8(A);B=uint8(B); subplot(2,2,1) imshow(A)title(原图像)subplot(2,2,2)imhist(A) title(原图像的直方图) subplot(2,2,3) imshow(B)title( 经过均衡处理的图像 )subplot(2,2,4)imhist(B)title( 经过均衡处理后该图像的直方图 )得到的图像如下作业31.用matlab实现多幅图像平均去高斯白噪声。程序
7、代码如下:clear;A=imread( picture2.jpg );l=rgb2gray(A);imshow(l);a,b=size(I);no ise=ra ndn( a,b)*30;X=double(l)+no ise;Y=zeros(a,b);figure(2);imshow(ui nt8(X);for n=1:30no ise=ra ndn( a,b)*30;X=double(I)+no ise;Y=Y+double(X);end;Y=Y/n;figure (3);imshow(ui nt8(Y)得到的图像如下:原图加了高斯白噪声的图像:去噪后的图像:2.用matlab实现均值滤波
8、去除高斯白噪声.程序代码如下:clear;A=imread( picture2.jpg );l=rgb2gray(A);figure;imshow(l);a,b=size(I);no ise=ra ndn( a,b)*30;I=double(I)+no ise;I2=zeros(a+2,b+2);I3=zeros(a,b);for n=1:afor m=1:bI2( n+1,m+1)=l( n,m);end ;end;figure(2);imshow(ui nt8(I2);for n=2:afor m=2:bI3( n-1,m-1)=I2( n-1,m-1)+I2( n-1,m)+I2( n-
9、1,m+1)+I2( n,m- 1)+I2( n,m)+I2( n,m+1)+I2( n+1,m-1)+I2( n+1,m)+I2( n+1,m+1) /9;end ;end;figure (3); imshow(ui nt8(l3);得到的图像如下:原图加高斯白噪声图像均值滤波去噪后图像3.用matlab实现中值滤波去除脉冲噪声。 程序代码如下:clear;A=imread( picture2.jpg );l=rgb2gray(A);figure(1);imshow(l);X=zeros(1:9);a,b=size(I);Y=zeros(a+2,b+2);Z=zeros(a,b);for n
10、=1:afor m=1:bY( n+1,m+1)=I( n,m);end ;end;for n=0:100Y(ro un d(ra nd*a),ro un d(ra nd*b)=0;end;for n=0:200Y(ro un d(ra nd*a),ro un d(ra nd*b)=255;end;figure(2)imshow(ui nt8(Y);Y=double(Y);for n=2:afor m=2:bX=Y( n-1,m-1),Y( n-1,m),Y( n-1,m+1),Y( n,m-1),Y( n,m),Y( n, m+1),Y( n+1,m-1),Y( n+1,m),Y( n+1,m+10);X=sort(X);Z( n-1,m-1)=X(5);end ;end;figure (3);imshow(ui nt8(I);得到图像如下:原图加脉冲噪声后图像中值滤波去噪后图像
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1