数字图像处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例4.1 代码及结果如下:
I=imread('pout.tif');
imshow(I);
I=double(I);
[M,N]=size(I);
for i=1:M
for j=1:N
if I(i,j)<=30
I(i,j)=I(i,j);
elseif I(i,j)<=150
I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;
else
I(i,j)=(255-200)/(220-150)*(I(i,j)-150)+220;
end
end
end
figure(2);imshow(uint8(I));
例4.2 代码及结果如下:
I=imread('cameraman.tif')
figure;imshow(I);
I=double(I);
I2=41*log(1+I);
I2=uint8(I2);
figure;imshow(I2);
例4.3 代码及结果如下:
I=imread('c.bmp');
figure;imshow(I);
I=double(I)
[M,N]=size(I);
for i=1:M
for j=1:N
if I(i,j)<=50
I(i,j)=40;
elseif I(i,j)<=180 I(i,j)=220;
else
I(i,j)=40;
end
end
end
I=uint8(I);
figure;imshow(I);
例4.4 代码及结果如下:
I=imread('cameraman.tif');
imshow(I);
I=double(I);
[M,N]=size(I);
for k=1:8
J=zeros(M,N);
for i=1:M
for j=1:N
temp=I(i,j);
s1=0;s2=0;
range=[k:-1:1];
for d=range
s1=2^(8-d)+s1;s2=2^(8-d+1);
if temp>=s1&temp J(i,j)=255;break; end end end end J=uint8(J); figure;imshow(J); end 例4.6 代码及结果如下:I=imread('circuit.tif'); figure subplot(221);imshow(I); subplot(222);imhist(I); I1=histeq(I); figure; subplot(221);imshow(I1) subplot(222);imhist(I1) 例4.8 代码及结果如下: I=imread('circuit.tif'); [M,N]=size(I); for i=1:8:257 couts(i)=i; end Q=imread('circuit.tif'); N=histeq(Q,couts); figure subplot(221);imshow(N); subplot(222);imhist(N); axis([0 260 0 5000]) 例4.9 代码及结果如下: I=imread('tire.tif') [M,N]=size(I); II1=zeros(M,N); for i=1:16 II(:,:,i)=imnoise(I,'gaussian',0,0.01); II1=II1+double(II(:,:,i)); if or(or(i==1,i==4),or(i==8,i==16)); figure; imshow(uint8(II1/i)); end end 例4.10 代码及结果如下: I=imread('eight.tif'); J=imnoise(I,'salt & pepper',0.02); subplot(231),imshow(I);title('原图像'); subplot(232),imshow(J);title('添加椒盐噪声图像'); k1=filter2(fspecial('average',3),J); k2=filter2(fspecial('average',5),J); k3=filter2(fspecial('average',7),J); k4=filter2(fspecial('average',9),J); subplot(233),imshow(uint8(k1));title('3*3模板平滑滤波'); subplot(234),imshow(uint8(k2));title('5*5模板平滑滤波'); subplot(235),imshow(uint8(k3));title('7*7模板平滑滤波'); subplot(236),imshow(uint8(k4));title('9*9模板平滑滤波');