数字图像处理课程设计(3)

2019-04-22 21:18

4 imdivide

Z=imdivide(x,y) 表示图像x/y

第四章 飞机边界的提取与叠加

4.1图像的灰度变换

照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗,为此需要对图像中的每一像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的。这一灰度调整过程可用imadjust( )函数实现。

灰度变换:A=rgb2gray(FILENAME,FMT) ,FILENAME 指定图像文件的完整路径和文件名,FMT为图像文件的格式对应的标准扩展名。 程序代码如下:

%读出一幅图像

A = imread('e:\\feiji.jpg'); figure;imshow(A);

text(size(A,2),size(A,1)+15, ...

'原图 A ', ... %加上图像标题A 'FontSize',20,'HorizontalAlignment','right');

B=rgb2gray(A); %转换成灰度模式 figure;imshow(B);

text(size(B,2),size(B,1)+15, ...

'灰度图 B ', ... %加上图像标题B

运行以上程序得到图1,图2的效果图:

11

图 1 图2

灰度图2显示的是对原图1进行灰度变换够的图像。变换后图像是一幅灰度级均匀分布的图像, 这意味着图像灰度的动态范围得到了增加, 从而可提高图像的对比度。

4.2 图像的二值化

灰度图像的二值化 :利用点运算的阈值理论将灰度图像变为二值图像, 为图像分析提供有利的条件, 它的操作是根据阈值T , 如果图像中某像素的灰度值小于阈值,则该像素的值设置为0 ,否则像素的值设为255 , 按下式对图像处理可以得到二值图像。 程序代码如下:

%读出一幅图像

A = imread('e:\\feiji.jpg'); figure;imshow(A);

text(size(A,2),size(A,1)+15, ...

'原图 A ', ... %加上图像标题A 'FontSize',20,'HorizontalAlignment','right');

B=rgb2gray(A); figure;imshow(B);

text(size(B,2),size(B,1)+15, ...

'灰度图 B ', ... %加上图像标题B

'FontSize',20,'HorizontalAlignment','right');

12

level = graythresh(B); %得到合适的阈值 C= im2bw(B,level); %二值化 figure;imshow(C);

text(size(C,2),size(C,1)+15, ...

'二值化 C ', ... %加上图像标题C

'FontSize',20,'HorizontalAlignment','right');

运行以上程序:

图 3 图 4

图4是是对灰度变换的图3进行二值化处理得到的二值化图像,经过二值化处理的图像,边缘轮廓鲜明,可以达到突出目标、淡化背景的作用,适合于处理简单的目标和逻辑判断。

4.3 图形闭运算

腐蚀和膨胀是依据数学形态学集合论方法发展起来的图像处理方法,起源于岩相对岩石结构的定量描述工作,在数字图像处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图像分析方法和理论。数学形态学是图像处理和模式识领域的新方法,其基本思想是:用具有一定形态的结构元素去量度和提取图像中的对应形状,以达到图像分析和识别的目的。优势有以下几点:有效滤除噪声,保留图像中原有信息,算法易于用并行处理方法有效实现,基于数学形

13

态学的边缘信息提取处理优于基于微分运算的边缘提取算法,提取的边缘比较平滑,提取的图像骨架也比较连续,断点少

腐蚀:是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。

膨胀:是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。

闭运算:先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。

程序代码如下:

A = imread('e:\\feiji.jpg'); figure;imshow(A);

text(size(A,2),size(A,1)+15, ...

'原图 A ', ... %加上图像标题A 'FontSize',20,'HorizontalAlignment','right');

B=rgb2gray(A);figure;imshow(B); text(size(B,2),size(B,1)+15, ...

'灰度图 B ', ... %加上图像标题B

'FontSize',20,'HorizontalAlignment','right');

level = graythresh(B); %得到合适的阈值 C= im2bw(B,level); %二值化 figure;imshow(C);

text(size(C,2),size(C,1)+15, ...

'二值化 C ', ... %加上图像标题C

'FontSize',20,'HorizontalAlignment','right');

SE = strel('square',3); %设置膨胀结构元素 D = imdilate(C,SE); %膨胀

SE1 = strel('arbitrary',eye(5)); %设置腐蚀结构元素 E = imerode(C,SE1); %腐蚀 %BW3 = bwmorph(c, 'open'); %开运算 F = bwmorph(C, 'close'); figure;imshow(F); text(size(F,2),size(F,1)+15, ...

'闭运算 F ', ... %加上图像标题F

'FontSize',20,'HorizontalAlignment','right');

14

图 5 图 6 图6是对二值化图5进行闭运算得到的图像,

4.4 图像边界提取 4.4.1边缘检测算子原理

在图像处理中,有一种十分实用的操作叫做边界提取,在提取了图像的边界后,就可以对图像进行进一步的操作如图像分割,特定区域的提取,骨架提取等等。边缘检测是一种重要的区域处理方法,边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。如果一个像素落在边界上,那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向。MATLAB工具箱提供的edge( )函数可针对sobel算子、prewitt算子、Roberts算子、log算子和canny算子实现检测边缘的功能。基于灰度的图像分割方法也可以用简单的

MATLAB代码实现。为了计算方便起见,通常选择一阶和二阶导数来检测边界,利用求导方法可以很方便地检测到灰度值的不连续效果。

15


数字图像处理课程设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司应收账款管理的现状及存在的问题、原因分析及建设与对策_毕

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: