用matlab程序实现同时对比度实验、空间分辨率变化效果、实验幅度分辨率变化效果_第1页
用matlab程序实现同时对比度实验、空间分辨率变化效果、实验幅度分辨率变化效果_第2页
用matlab程序实现同时对比度实验、空间分辨率变化效果、实验幅度分辨率变化效果_第3页
用matlab程序实现同时对比度实验、空间分辨率变化效果、实验幅度分辨率变化效果_第4页
用matlab程序实现同时对比度实验、空间分辨率变化效果、实验幅度分辨率变化效果_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作业11. 用matlab程序实现同时对比度实验。程序代码如下:clear m=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程序实验空间分辨率变化效果。程序代码如下:clear X=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);for i=1:mm for j=1:nn X128(i,j)=2*(ceil(X(i,j)/2); endendfor i=1:mm for j=1:nn X64(i,j)=4*(ceil(X(i,j)/4); endend for i=1:mm for j=1:nn X32(i,j)=8*(ceil(X(i,j)/8); endend figuresubplot(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);for n = 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实现图像的直方图均衡化程序代码如下: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:mfor j=1:n r(A(i,j)+1)=r(A(i,j)+1)+1;endendr=r./l;for k=1:256for j=1:ky(k)=y(k)+r(j);endend for k=1:256 y(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实现多幅图像平均去高斯白噪声。程序代码如下: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); for n=1:30 noise=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); for n=1:a for m=1:b I2(n+1,m+1)=I(n,m); end; end;figure(2);imshow(uint8(I2); for n=2:a for m=2:b I3(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); for n=1:a for m=1:b Y(n+1,m+1)=I(n,m); end; end; for n=0:100 Y(round(rand*a),round(rand*b)=0; end;for n=0:200 Y(round(rand*a),round(rand*b)=255; end; figure(2) imshow(uint8(Y); Y=double(Y); for n=2:a for m=2:b X=Y(n-1,m-1),Y(n-1,m),Y(n-1,m+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论