用matlab程序实现同时对比度实验空间分辨率变化效果实验幅度分辨率变化效果Word下载.docx
《用matlab程序实现同时对比度实验空间分辨率变化效果实验幅度分辨率变化效果Word下载.docx》由会员分享,可在线阅读,更多相关《用matlab程序实现同时对比度实验空间分辨率变化效果实验幅度分辨率变化效果Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
n0+step)=before_gray;
figure;
imshow(uint8(X1));
X2(m0:
imshow(uint8(X2));
得到的图像如下:
2.用matlab程序实验空间分辨率变化效果。
X=imread('
picture1.jpg'
);
imshow(uint8(X));
[m,n]=size(X);
X1=X(1:
2:
m,1:
n);
imwrite(X1,'
得到的图形如下
3.用matlab程序实验幅度分辨率变化效果.
程序代码如下:
clear
[mm,nn]=size(X);
fori=1:
mm
forj=1:
nn
X128(i,j)=2*(ceil(X(i,j)/2));
end
end
X64(i,j)=4*(ceil(X(i,j)/4));
end
X32(i,j)=8*(ceil(X(i,j)/8));
figure
subplot(2,2,1);
title('
256级'
subplot(2,2,2);
imshow(uint8(X128));
128级'
subplot(2,2,3);
imshow(uint8(X64));
64级'
subplot(2,2,4);
imshow(uint8(X32));
32级'
得到的图像如下
作业2
1.用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);
stem(final,'
Marker'
'
none'
figure
(2);
imshow(I);
得到的图像如下
2.用matlab实现图像的直方图均衡化
clearall
m=imread('
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);
m
forj=1:
n
r(A(i,j)+1)=r(A(i,j)+1)+1;
r=r./l;
fork=1:
256
k
y(k)=y(k)+r(j);
y(k)=floor(255*y(k)+0.5);
B(i,j)=y(A(i,j)+1);
A=uint8(A);
B=uint8(B);
subplot(2,2,1)
imshow(A)
原图像'
)
subplot(2,2,2)
imhist(A)
原图像的直方图'
subplot(2,2,3)
imshow(B)
经过均衡处理的图像'
subplot(2,2,4)
imhist(B)
经过均衡处理后该图像的直方图'
作业3
1.用matlab实现多幅图像平均去高斯白噪声。
A=imread('
I=rgb2gray(A);
[a,b]=size(I);
noise=randn(a,b)*30;
X=double(I)+noise;
Y=zeros(a,b);
forn=1:
30
noise=randn(a,b)*30;
X=double(I)+noise;
Y=Y+double(X);
Y=Y/n;
figure(3);
imshow(uint8(Y))
原图
加了高斯白噪声的图像:
去噪后的图像:
2.用matlab实现均值滤波去除高斯白噪声.
I=double(I)+noise;
I2=zeros(a+2,b+2);
I3=zeros(a,b);
a
form=1:
b
I2(n+1,m+1)=I(n,m);
end;
imshow(uint8(I2));
forn=2:
form=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;
imshow(uint8(I3));
加高斯白噪声图像
均值滤波去噪后图像
3.用matlab实现中值滤波去除脉冲噪声。
figure
(1);
X=zeros(1:
9);
Y=zeros(a+2,b+2);
Z=zeros(a,b);
Y(n+1,m+1)=I(n,m);
forn=0:
100
Y(round(rand*a),round(rand*b))=0;
200
Y(round(rand*a),round(rand*b))=255;
figure
(2)
imshow(uint8(Y));
Y=double(Y);
X=[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);
imshow(uint8(I));
得到图像如下:
加脉冲噪声后图像
中值滤波去噪后图像