实验一图像增强和图像分割实验.doc
实验一 图像增强和图像分割实验 (1)分别用图中给出的直线和曲线作为增强函数进行增强,比较它们的效果 并讨论其特点。 线性变换 对指数变换图片1 图片2 实验步骤: 1. 在MATLAB中编写灰度图像的线性变换点运算程序 图片1处理程序 I=imread( 图片1.png ); %读入原图像 I=im2double(I); %转换数据类型为double [M,N]=size(I); figure(1); imshow(I);%显示原图像 title( 原图像 ); figure(2); I=rgb2gray(I); E2(s) E3(s) E1(s) L-1 L-1 E5(s) E4(s) L-1 L-1%转化为灰度图像 [H,x]=imhist(I,64); stem(x,(H/M/N), . ); title( 原图像 ); %tan=30` a=sqrt(3)/3;b=0; y=a.*I+b; figure(3); imshow(y); title( tan=30 ); figure(4); [H,x]=imhist(y,64); stem(x,(H/M/N), . ); title( tan=30 ); %tan=45` a=1;b=0; y=a.*I+b; figure(5); imshow(y); title( tan=45 ); figure(6); [H,x]=imhist(y,64); stem(x,(H/M/N), . ); title( tan=45 ); %tan=60` a=sqrt(3);b=0; y=a.*I+b; figure(7); imshow(y); title( tan=60 ); figure(8); [H,x]=imhist(y,64); stem(x,(H/M/N), . ); title( tan=60 ); 实验结果如下图所示: 代 代 代 图片1的原图像tan=30 图片1的30度线性变换图像 tan=45 图片1的45度线性变换图像tan=60 图片1的60度线性变换图像 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.005 0.01 0.015 0.02 0.025 代 代 代 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 tan=30 原图像的直方图 30度变换后直方图 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.005 0.01 0.015 0.02 0.025 tan=45 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.005 0.01 0.015 0.02 0.025 tan=60 45度变换后的直方图 60度变换后直方图图片2处理程序参考图片1处理程序。图片2实验结果如图所示: 代 代 代 图片2原图像 tan=30 30度变换后图像tan=45 45度变换后图像 tan=60 60度变换后图像2. 实验结果分析 由实验结果可以看出,当按照30度线性变换后图像变暗,按照45度变换后图 像没有任何改变,按照60度变换后图像变亮,由变换后的直方图可以确认像素点 的变化。由以上分析可以得出,当线性变换函数的斜率大于1时,图像的对比度 将增大;当线性变换的斜率小于时,图像的对比度将减小;当线性变换函数的斜 率等于1时,图像的对比度不变,只是像素点整体的移动。虽然线性变换可以改 变对比度,但是对图像的细节部分增强有限。 1. 在MATLAB中编写灰度图像的对指数点运算程序图片1对数处理程序: I=imread( 图片1.png ); %读入原图像 I=im2double(I); %转换数据类型为double I=rgb2gray(I); figure(1); imshow(I); %显示原图像 title( 原图像 ); figure(3); [H,x]=imhist(I,64); stem(x,(H/M/N), . ); title( 原图像 ); figure(2); y=log(I+1); imshow(I); title( 对数变换 ); figure(4); [H,x]=imhist(y,64); stem(x,(H/M/N), . ); title( 对数变换 ); 实验结果如下图所示: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 代 代 代 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 代 代 代 代 图片1直方图 图片1对数变换直方图代 代 代 代 对数变换后图像 图片1指数处理程序: I=imread( 图片1.png ); %读入原图像 I=im2double(I); %转换数据类型为double I=rgb2gray(I); [M,N]=size(I); figure(1); imshow(I); %显示原图像 title( 原图像 ); figure(3); [H,x]=imhist(I,64); stem(x,(H/M/N), . ); title( 原图像 ); figure(2); imshow(imadjust(I,[],[],3)); figure(4); [H,x]=imhist(imadjust(I,[],[],4),64); stem(x,(H/M/N), . ); title( 指数变换 ); 实验结果如下图所示: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 代 代 代 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 代 代 代 代 图片1直方图 指数变换后直方图图片1指数变换后图像 图片2对指数处理程序参考图片1处理程序。对指数处理结果如图所示: 代 代 代 代 图片2指数变换后图像0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.02