数字图像处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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模板平滑滤波');

相关文档
最新文档