用matlab程序实现同时对比度实验、空间分辨率变化效果、实验幅度分辨率变化效果

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

作业11.用matlab程序实现同时对比度实验。程序代码如下:clearm=256;n=256;ground_gray1=200;X1=ones(m,n)*ground_gray1;ground_gray2=100;X2=ones(m,n)*ground_gray2;before_gray=150;m0=100;n0=100;step=50;X1(m0:m0+step,n0:n0+step)=before_gray;figure;imshow(uint8(X1));X2(m0:m0+step,n0:n0+step)=before_gray;figure;imshow(uint8(X2));得到的图像如下:2.用matlab程序实验空间分辨率变化效果。程序代码如下:clearX=imread('picture1.jpg');figure;imshow(uint8(X));[m,n]=size(X);X1=X(1:2:m,1:2:n);figure;imshow(uint8(X1));imwrite(X1,'picture1.jpg');得到的图形如下3.用matlab程序实验幅度分辨率变化效果.程序代码如下:clearX=imread('picture1.jpg');[mm,nn]=size(X);fori=1:mmforj=1:nnX128(i,j)=2*(ceil(X(i,j)/2));endendfori=1:mmforj=1:nnX64(i,j)=4*(ceil(X(i,j)/4));endendfori=1:mmforj=1:nnX32(i,j)=8*(ceil(X(i,j)/8));endendfiguresubplot(2,2,1);imshow(uint8(X));title('256级');subplot(2,2,2);imshow(uint8(X128));title('128级');subplot(2,2,3);imshow(uint8(X64));title('64级');subplot(2,2,4);imshow(uint8(X32));title('32级');得到的图像如下作业21.用matlab作出图像的直方图。程序代码如下:clear;A=imread('picture2.jpg');I=rgb2gray(A);add=[];tab1=zeros(1,256);forn=0:255;X=I==n;add=[add;sum(sum(X))];end;[a,b]=size(I);final=add/(a*b);figure;stem(final,'Marker','none');figure(2);imshow(I);得到的图像如下2.用matlab实现图像的直方图均衡化程序代码如下:clearallm=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);fori=1:mforj=1:nr(A(i,j)+1)=r(A(i,j)+1)+1;endendr=r./l;fork=1:256forj=1:ky(k)=y(k)+r(j);endendfork=1:256y(k)=floor(255*y(k)+0.5);endfori=1:mforj=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实现多幅图像平均去高斯白噪声。程序代码如下:clear;A=imread('picture2.jpg');I=rgb2gray(A);imshow(I);[a,b]=size(I);noise=randn(a,b)*30;X=double(I)+noise;Y=zeros(a,b);figure(2);imshow(uint8(X));forn=1:30noise=randn(a,b)*30;X=double(I)+noise;Y=Y+double(X);end;Y=Y/n;figure(3);imshow(uint8(Y))得到的图像如下:原图加了高斯白噪声的图像:去噪后的图像:2.用matlab实现均值滤波去除高斯白噪声.程序代码如下:clear;A=imread('picture2.jpg');I=rgb2gray(A);figure;imshow(I);[a,b]=size(I);noise=randn(a,b)*30;I=double(I)+noise;I2=zeros(a+2,b+2);I3=zeros(a,b);forn=1:aform=1:bI2(n+1,m+1)=I(n,m);end;end;figure(2);imshow(uint8(I2));forn=2:aform=2:bI3(n-1,m-1)=[I2(n-1,m-1)+I2(n-1,m)+I2(n-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(uint8(I3));得到的图像如下:原图加高斯白噪声图像均值滤波去噪后图像3.用matlab实现中值滤波去除脉冲噪声。程序代码如下:clear;A=imread('picture2.jpg');I=rgb2gray(A);figure(1);imshow(I);X=zeros(1:9);[a,b]=size(I);Y=zeros(a+2,b+2);Z=zeros(a,b);forn=1:aform=1:bY(n+1,m+1)=I(n,m);end;end;forn=0:100Y(round(rand*a),round(rand*b))=0;end;forn=0:200Y(round(rand*a),round(rand*b))=255;end;figure(2)imshow(uint8(Y));Y=double(Y);forn=2:aform=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(uint8(I));得到图像如下:原图加脉冲噪声后图像中值滤波去噪后图像

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功