数字图像处理作业(第两次) 基于灰度变换的图像增强

  • 格式:docx
  • 大小:1.54 MB
  • 文档页数:4

姓名:吴彦博 班级:计143 学号: 143063

1 数字图像处理作业(第两次) 基于灰度变换的图像增强

第一题 利用幂律变换进行图像增强(实现例3.1)

1. 问题

重现例3.1中的实验,即用幂律变换对冈萨雷斯《数字图像处理(第3版)》Fig.3.8(a)中的图像进行变换。c取1, gamma 分别取0.6,0.4,0.3,观察何时获得最佳的增强效果。

2. 算法步骤:

1)将Fig.3.8(a) 中的图像读入矩阵X中

2)输入参数c和gamma 的值

3)显示图像X;

4)利用参数c和gamma 的值对X 进行幂律变换,得到变换后的图像Y

5)显示变换后的图像Y。

3.程序:

(1) 幂律变换的程序:

function Y=power_enhance(X, gamma, c)

% 对输入图像X进行幂律变换

if ~isa(X,'double')

X=im2double(X);

end

Y=c*X.^gamma;

(2) 主程序:

X=imread('Fig0308(a)(fractured_spine).tif');

figure(1)

imshow(X);

c=1; gamma=0.3;

Y= power_enhance(X, gamma, c);

figure(2)

imshow(Y)

4.

实验结果

c=1,

gamma=0.3时的运行结果:

c=1, gamma=0.4时的运行结果:

c=1, gamma=0.6时的运行结果:

5. 实验结果分析

随着伽马值从0.6减小到0.4,更多的细节变得可见了。当伽马值进一步减小到0.3时,背景中的细节得到了进一步增强,但对比度会降低到图像开始有轻微“冲淡”外观的那一点,尤其是在背景中。比较所有的结果,在对比度和可辨识方面的最好增强在0.4时。 姓名:吴彦博 班级:计143 学号: 143063

2 第二题 利用幂律变换进行图像增强(实现例3.2)

1. 问题

重现例3.2中的实验,即用幂律变换对冈萨雷斯《数字图像处理(第3版)》Fig.3.9(a)中的图像进行变换。c取1, gamma 分别取3, 4 和5 ,观察何时获得最佳的增强效果。

2. 算法步骤:

1)将Fig.3.9(a) 中的图像读入矩阵X中

2)输入参数c和gamma 的值

3)显示图像X;

4)利用参数c和gamma 的值对X 进行幂律变换,得到变换后的图像Y

5)显示变换后的图像Y。

3.程序:

(1) 幂律变换的程序:

function Y=power_enhance(X, gamma, c)

% 对输入图像X进行幂律变换

if ~isa(X,'double')

X=im2double(X);

end

Y=c*X.^gamma;

(2) 主程序:

X=imread('Fig0309(a)(washed_out_aerial_image).tif');

figure(1)

imshow(X);

c=1; gamma=3;

Y= power_enhance(X, gamma, c);

figure(2)

imshow(Y)

4.

实验结果

c=1,

gamma=3时的运行结果:

c=1, gamma=4时的运行结果:

c=1, gamma=5时的运行结果:

5. 实验结果分析

伽马值取3.0和4.0时,可得到合适的结果,且后者由于有比较高的对比度而显示出更令人满意的效果。伽马值取5.0时得到的结果中有些地方太暗,因而丢失了一些细节。

姓名:吴彦博 班级:计143 学号: 143063

3 第三题 实现对比度拉伸和阈值化(实现图3.10)

1. 问题

重现教材69页图3.10中的实验。 即:对Fig.3.10(b) 中的图利用Fig.3.10(a)中所示的函数进行变换,实现对比度拉伸和阈值化。

2. 算法步骤:

1)将Fig.3.10(b) 中的图像读入矩阵X中

2)显示图像X

3)求出图像的最小灰度级rmin和最大灰度级rmax

4)利用变换函数把其原范围线性的拉伸至[0,L-1]

5)显示变换后的图像Y

6)求出图像的平均灰度级m

7)作(r1,s1)=(m,0),(r2,s2)=(m,L-1)的变换

8)显示变换后的图像X

3.程序:

(1) 对比度拉伸的程序:

X=imread('Fig0310(b)(washed_out_pollen_image).tif');

figure(1)

imshow(X);

[width,height,bmsize]=size(X);

rmax=double(max(max(X)))/255;

rmin=double(min(min(X)))/255;

Y=imadjust(X,[rmin rmax],[0 1]);

figure(2)

imshow(Y);

(2) 阈值处理的程序:

X=imread('Fig0310(b)(washed_out_pollen_image).tif');

figure(1)

imshow(X);

rmax=double(max(max(X)));

rmin=double(min(min(X)));

m=double(rmax+rmin)/2;

[width,height,bmsize]=size(X);

for i=1:width

for j=1:height

if X(i,j)>m

X(i,j)=255;

else

X(i,j)=0;

end

end

end

figure(2)

imshow(X);

4. 实验结果

原图: 对比度拉伸的运行结果: 阈值处理的运行结果: 姓名:吴彦博 班级:计143 学号: 143063

4

5. 实验结果分析

对比度拉伸是扩展图像灰度级动态范围的处理,因此,它可以跨越记录介质和显示装置全部灰度范围。