当前位置:文档之家› 数字图像处理实验一

数字图像处理实验一

数字图像处理—实验一
一.实验内容:
图像灰度变换
二.实验目的:
学会用Matlab软件对图像灰度进行变换;感受各种不同的灰度变换方法对最终图像效果的影响。

三.实验步骤:
1.获取实验用图像:rice.jpg. 使用imread函数将图像读入Matlab。

程序:
clc;clear;
figure;
subplot(4,4,1);
i = imread('rice.png');
i = im2double(i);
imshow(i);title('1');
2.产生灰度变换函数T1,使得:
0.3r r < 0.35
s = 0.105 + 2.6333(r – 0.35) 0.35 ≤r ≤0.65
1 + 0.3(r – 1) r > 0.65
用T1对原图像rice.jpg进行处理,使用imwrite函数保存处理后的新图像。

程序:
subplot(4,4,2);
r=[0:0.001:1];
s=[r<0.35].*r*0.3+[r<=0.65].*[r>=0.35].*(0.105+2.6333*(r-0.35))+[r>0.65].*(1 +0.3*(r-1));
plot(r,s);title('2p');
subplot(4,4,3);
T1=[i<0.35].*i*0.3+[i<=0.65].*[i>=0.35].*(0.105+2.6333*(i-0.35))+[i>0.65].*( 1+0.3*(i-1));
imshow(T1);title('2i');
imwrite(T1,'rice_T1.jpg','jpg');
3.产生灰度变换函数T2,使得:
用T2对原图像rice.jpg进行处理,使用imwrite保存处理后的新图像。

%3
subplot(4,4,4);
r = [0:0.001:1];
s = [r<=0.5].*(r.^5)*15.9744+[r>0.5].*((r-0.5).^0.2+0.12); plot(r,s);title('3p');
subplot(4,4,5);
T2 = [i<=0.5].*(i.^5)*15.9744+[i>0.5].*((i-0.5).^0.2+0.12); imshow(T2);title('3i');
imwrite(T2,'rice_T2.jpg','jpg');
4.分别用s = r0.6; s = r0.4; s = r0.3对kids.tiff图像进行处理。

为简便起见,请使用Matlab中的imadjust函数。

使用imwrite保存处理后的新图像。

%4
subplot(4,4,6);
i2 = imread('kids.tif');
i2 = im2double(i2);
imshow(i2);title('4i');
r = [0:0.001:1];
subplot(4,4,7);
ss1 = r.^0.6;
ss2 = r.^0.4;
ss3 = r.^0.3;
plot(r,ss1,r,ss2,r,ss3);title('4p'); subplot(4,4,8);
s1 = imadjust(i2,[],[],0.6); imshow(s1);title('4i1'); imwrite(s1,'kids_s1.tif','tif'); subplot(4,4,9);
s2 = imadjust(i2,[],[],0.4); imshow(s2);title('4i2'); imwrite(s2,'kids_s2.tif','tif'); subplot(4,4,10);
s3 = imadjust(i2,[],[],0.3); imshow(s3);title('4i3'); imwrite(s3,'kids_s3.tif','tif');
5.对circuit.jpg图像实施反变换(Negative Transformation)。

s =1-r; 使用imwrite保存处理后的新图像。

%5
subplot(4,4,11);
rr = imread('circuit.tif');
rr = im2double(rr);
imshow(rr);title('5i');
subplot(4,4,12);
ss = 1-rr;
imwrite(ss,'circuit_ss.tif','tif');
imshow(ss);title('5i2');
figure;
plot(ss,rr);title(‘5p’);
6.对rice.jpg图像实施灰度切片(Gray-level slicing)。

具体要求如下:当0.2 ≤r ≤0.4时,将r置为0.6, 当r位于其他区间时, 保持其灰度与原图像一样。

使用imwrite保存处理后的新图像。

%6
subplot(4,4,13);
i3 = imread('rice.png');
i3 = im2double(i3);
r = [0:0.001:1];
s = [r<=0.4].*[r>=0.2]*0.6;
plot(r,s);title('6p');
subplot(4,4,14);
s6 = [i3<=0.4].*[i3>=0.2]*0.6+[i3>0.4].*i3+[i3<0.2].*i3;
imshow(s6);title('6i');
imwrite(s6,'rice_s6.jpg','jpg');
四.实验报告要求:
用imshow, plot等函数生成各类图像,提交原图像和各种变换函数的曲线,以及按各种变换函数处理后的图像。

相关主题