数字图像处理期末考核报告-廖志立参考模板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字图像处理》期末大作业暨课程考核报告
姓名:廖志立
学号:14082200147
序号:10
湖南理工学院信息与通信工程学院
2011年12月
1 绘制灰度直方图,实现直方图均衡化和直方图匹配(规定化) (3)
1.1 算法原理 (3)
1.2 算法设计 (3)
1.3 实验结果及对比分析 (4)
2 灰度图像的对比度增强 (5)
2.1 算法原理 (5)
2.2 算法设计 (5)
2.3 实验结果及分析 (6)
3 图形的几何变换 (7)
3.1 算法原理 (7)
3.2 算法设计 (7)
3.3 实验结果及分析 (7)
4 图像加噪(用输入参数控制不同噪声),然后使用空域和频域进行滤波处理 (8)
4.1 算法原理 (8)
4.2 算法设计 (8)
4.3 实验结果及分析 (9)
5 采用robert,prewitt,sobel,拉普拉斯算子对图像进行边缘提取 (9)
5.1 算法原理 (9)
5.2 算法设计 (9)
5.3 实验结果及分析 (10)
6 读入两幅图像,一幅为背景图像,一幅为含有目标的图像,应用所学的知识提取出
目标 (10)
6.1 算法原理 (10)
6.2 算法设计 (10)
6.3 实验结果及分析 (11)
7 小结 (11)
1 绘制灰度直方图,实现直方图均衡化和直方图匹配(规定化)
1.1 算法原理
灰度直方图表示数字图像中每一灰度级出现的频率,即该灰度级的像素数与图像的总像素数之比。

灰度图像为256级灰度,通过find()函数寻找每一级灰度值的像素的个数并统计,计入行向量中,统计结束后讲统计结果绘制成直方图。

1.2 算法设计
采用MATLAB IPT工具箱函数imhist()便可以求出图像的直方图,调用格式为imhist(I),I为待处理的图像。

采用IPT函数histeq()可以对图像进行均衡化以及规定化,调用格式为(1)J = histeq(I, hgram),(2)J = histeq(I, n),其中n = 256时,对图像进行均衡化。

hgram为指定的向量时便可对图像进行规定化。

MATALB源程序:
Img=imread('E:\pic\03.jpg');%读取图像
figure(1);
imshow(Img);
title('原图像像素图'),Img=rgb2gray(Img);
%绘制直方图
[m,n]=size(Img);
figure(2);
bar(0:255,imhist(Img)/(m*n),'b');
title('原图像直方图');xlabel('灰度图');ylabel('出现概率');
%三,直方图均衡化
S1=zeros(1,256);
for i=1:256
for j=1:i
S1(i)=GP(j)+S1(i); %计算Sk
end
end
S2=round(S1*256); %将Sk归到相近级的灰度
for i=1:256
GPeq(i)=sum(GP(find(S2==i))); %计算现有每个灰度级出现的概率
end
bar(0:255,GPeq,'r') %显示均衡化后的直方图
title('均衡化后的直方图');xlabel('灰度值');ylabel('出现概率');
imshow(PA) %显示均衡化后的图像
title('均衡化后图像');imwrite(PA,'PicEqual.jpg');
1.3 实验结果及对比分析
图1 原始图像图2 原始图像的直方图
通过结果可以看出,图像的灰度级集中在灰度值较大的区间,这就是图像看上去较明亮的原因。

图3 均衡后图4 均衡后直方图通过均衡后结果可以看出,图像的显示效果得到了明显改善,灰度值不再集中在数值较大的区域,而是均匀分布在整个灰度级区间内。

图5 原始图像图6 规定化后图像通过规定后的图像,能够更加清晰的看到原始图像中模糊不清的部分,显示效果得到了明显改善。

2 灰度图像的对比度增强
2.1 算法原理
讲图像的亮度值映射到一个新的区间,即将low_in至high_in之间的值映射到low_out到high_out之间的值。

2.2 算法设计
采用IPT工具箱函数imadjust(),可以对图像的亮度对比度进行调整。

其调用格式为 g = imadjust(f,[low_in,high_in],[low_out,high_out],gamma).另外,采用对数变化式 g = 1./(1 + (m./(double(f) + eps)).^E)可以对图像的对比度进行变换。

MATLAB源程序:
Img=imread('E:\pic\08.jpg');%读取图像
if length(Img) == 0 % If only one argument it must be f.
method = 'full8';
else
method = Img{1};
end
if strcmp(class(f), 'double') & (max(f(:)) > 1 | min(f(:)) < 0)
f = mat2gray(f);
end
% Perform the specified scaling.
switch method
case'full8'
g = im2uint8(mat2gray(double(f)));
case'full16'
g = im2uint16(mat2gray(double(f)));
case'minmax'
low = Img{2}; high = Img{3};
if low > 1 | low < 0 | high > 1 | high < 0
error('Parameters low and high must be in the range [0, 1].') end
if strcmp(class(f), 'double')
low_in = min(f(:));
high_in = max(f(:));
elseif strcmp(class(f), 'uint8')
low_in = double(min(f(:)))./255;
high_in = double(max(f(:)))./255;
elseif strcmp(class(f), 'uint16')
low_in = double(min(f(:)))./65535;
high_in = double(max(f(:)))./65535;
end
% imadjust automatically matches the class of the input.
g = imadjust(f, [low_in high_in], [low high]);
otherwise
error('Unknown method.')
End
2.3 实验结果及分析
图1 原始图像图2 对比度增强后图像
通过对象对比,可以看出图像的显示效果得到了明显的改善,便于观察。

3 图形的几何变换
3.1 算法原理
通过图像点的坐标几何对应的关系实现图像的几何变化,平移、旋转等变换。

3.2 算法设计
采用IPT工具箱函数imtransform()可以对图像进行变化。

其调用格式为 B = imtransform(A,TFORM,INTERP),其中TFORM 向量决定图像的几何变换关系。

MATLAB源程序:
f=imread('E:\pic\building.tif');
imshow(f);
title('原图');
[m,n]=size(f);
g=zeros(m,n);
for i=1:m
for j=1:n
g(i,j)=f(i,n-j+1);
end
end
figure,imshow(uint8(g));
title('水平镜像');
for i=1:m;
for j=1:n;
g(i,j)=f(m-i+1,j);
end
end
figure,imshow(uint8(g));
title('垂直镜像');
3.3 实验结果及分析
图一原图图二水平镜像图三垂直镜像
通过结果可以看出,算法实现了图像的几何变换。

4 图像加噪(用输入参数控制不同噪声),然后使用空域和频域进行滤波处理
4.1 算法原理
通过噪声特性,产生不同的噪声加入到图像中各点的像素值中去,便可对图像进行加躁。

采用空间掩膜矩阵与图像进行卷积进行空间域滤波,不同的掩膜矩阵滤波的效果也会不同。

使用频域滤波器在频域空间对加入了噪声的图像进行滤波。

4.2 算法设计
使用MATLAB IPT工具箱函数imnoise()可以对图像进行加躁。

其调用格式为J = imnoise(I,type,parameters) 其中type的不同取值决定不同的噪声特性,如高斯,椒盐等。

imfilter()可以对图像进行空间域以及频域进行滤波。

其调用格式为B = imfilter(A, H),其中H为滤波器的传递函数,A为待处理的图像。

MATLAB源程序:
Img=imread('E:\pic\03.jpg');
imshow(Img);
title('原图');
Img=imnoise(Img,type,parameters);
figure,imshow(Img);
Title('噪声图')
Img=imfilter(Img, H);
figure,imshow(uint8(g));
title('滤波图');
4.3 实验结果及分析
图 1 原图图二加入高斯噪声图三高斯噪声滤波
可以看出,滤波后图像的噪声没有噪声图像明显了,但是图像比原图像要变得模糊了,这是高斯滤波器的缺点之一,滤波并没有得到理想的原图像。

5 采用robert,prewitt,sobel,拉普拉斯算子对图像进行边缘提取
5.1 算法原理
灰度或结构等信息的突变成为边缘,在空间域可以借助微分算子通过卷积运算来完成,空间域的微分在离散数字图像可以采用差分来近似。

基于一阶导数的边缘检测算子有roberts算子,sobel算子,prewitt算子。

基于二阶导数的边缘检测算子有laplacian算子,Log,canny算子是一中改进的算子。

5.2 算法设计
采用MATLAB IPT工具箱函数edge()可以对图像进行边缘检测,其调用格式为,BW = edge(I,type,thresh),其中type为选用的算子。

MATLAB源程序:
f=imread('E:\2.tif');
subplot(1,2,1);
imshow(f);
title('原图');
f=double(f);
a1=[-1,-1,-1,0,0,0,1,1,1];
a2=[-1,0,1,-1,0,1,-1,0,1];
z1=conv2(f,a1);
z2=conv2(f,a2);
r=sqrt(z1.^2+z2.^2);
r=uint8(r);
imwrite(r,'prewitt.tif');
subplot(1,2,2);imshow(r);
title('prewitt算子边缘检测');
5.3 实验结果及分析
图1 原始图像图2 边缘图像
通过结果可以看出,算法提取出了图像的边缘。

6 读入两幅图像,一幅为背景图像,一幅为含有目标的图像,应用所学的知识提取出目标
6.1 算法原理
通过目标与背景之间的差异,对图像中各个像素值与阀值进行比较,满足约束条件的视为目标,将其提取出来,不满足的的则视为背景,不提取。

6.2 算法设计
边缘检测,直线hough检测,阀值分析,提取出目标。

6.3 实验结果及分析
图1 原始图像图2 提取出的目标
通过结果可以看出,算法提取出了目标图像。

但是目标与原始的时候存在一定的差异,这是因为目标中有一些像素点的值与背景比较接近,所以被判定为了背景像素。

7 小结
通过本次数字图像处理期末大作业的训练,熟悉了MATLAB的软件工具的使用,学到了一些基本的利用MATLAB对图像进行处理的技能,例如,绘制图像的直方图、直方图均衡化、直方图匹配、灰度图像的对比度增强、图形的几何变换、图像加噪滤波处理、图像进行边缘提取,并且能够借助MATLAB图像处理后的结果能正确分析理解,这对于以后从事数字图像处理相关工作打下了一定的基础。

同时,我也感觉到MATLAB的图片处理的强大功能,我现在对MATLAB掌握的知识还远远不够。

友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

相关文档
最新文档