图像目标提取及特征计算.docx

上传人:b****8 文档编号:9527606 上传时间:2023-02-05 格式:DOCX 页数:11 大小:52.02KB
下载 相关 举报
图像目标提取及特征计算.docx_第1页
第1页 / 共11页
图像目标提取及特征计算.docx_第2页
第2页 / 共11页
图像目标提取及特征计算.docx_第3页
第3页 / 共11页
图像目标提取及特征计算.docx_第4页
第4页 / 共11页
图像目标提取及特征计算.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

图像目标提取及特征计算.docx

《图像目标提取及特征计算.docx》由会员分享,可在线阅读,更多相关《图像目标提取及特征计算.docx(11页珍藏版)》请在冰豆网上搜索。

图像目标提取及特征计算.docx

图像目标提取及特征计算

摘要之答禄夫天创作

创作时间:

二零二一年六月三十日

对图像进行研究和应用时,人们往往对图像中的某些部份感兴趣,这些部份常被称为目标或对象

目标或对象特征提取是计算机视觉和图像处置中的一个概念.它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征.特征提取的结果是把图像上的点分为分歧的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域.

本课设需要解决的问题是,利用阈值分割方法,对该图像进行分割,获得提取那个目标后的二值图像,计算该目标的面积、周长、中心坐标等三个参数.阈值分割采纳的是全局阈值分割方法,而面积、周长的计算则是先通过将图像转换成二值图像,在通过计算二值图像像素点的方式求取.

关键词:

阈值分割,边缘检测,像素点

1绪论

目标的特征提取是图像处置和自动目标识别(ATR)中的一个重要的研究课题,是解决图像识别问题的难点和关键.

特征提取是图象处置中的一个低级运算,也就是说它是对一个图像进行的第一个运算处置.它检查每个像素来确定该像素是否代表一个特征.假如它是一个更年夜的算法的一部份,那么这个算法一般只检查图像的特征区域.作为特征提取的一个前提运算,输入图像一般通过高斯模糊核在标准空间中被平滑.尔后通过局部导数运算来计算图像的一个或多个特征.

有时,假如特征提取需要许多的计算时间,而可以使用的时间有限制,一个高条理算法可以用来控制特征提取阶层,这样仅图像的部份被用来寻找特征.

由于许多计算机图像算法使用特征提取作为其低级计算步伐,因此有年夜量特征提取算法被发展,其提取的特征各种各样,它们的计算复杂性和可重复性也非常分歧.

 

2设计原理

2.1经常使用的特征提取的方法

提取图像空间关系特征可以有两种方法:

一种方法是首先对图像进行自动分割,划分出图像中所包括的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引.

本课程设计是采纳的第一种方法,即先对该图像进行分割,获得提取那个目标后的二值图像,计算该目标的面积、周长、中心坐标等三个参数.阈值分割采纳的是全局阈值分割方法,而面积、周长的计算则是先通过将图像转换成二值图像,在通过计算二值图像像素点的方式求取.其中计算周长时,先需要对二值图像进行边缘检测,然后再统计其像素点.

2.2阈值分割原理

图像阈值化分割是一种最经常使用,同时也是最简单的图像分割方法,它特别适用于目标和布景占据分歧灰度级范围的图像[1].它不单可以极年夜的压缩数据量,而且也年夜年夜简化了分析和处置步伐,因此在很多情况下,是进行图像分析、特征提取与模式识别之前的需要的图像预处置过程.图像阈值化的目的是要依照灰度级,对像素集合进行一个划分,获得的每个子集形成一个与现实景物相对应的区域,各个区域内部具有一致的属性,而相邻区域规划有这种一致属性.这样的划分可以通过从灰度级动身选取一个或多个阈值来实现.

阈值分割思想和原理

阈值分割法是一种基于区域的图像分割技术,其基来源根基理是:

通过设定分歧的特征阈值,把图像象素点分为若干类.经常使用的特征包括:

直接来自原始图像的灰度或黑色特征;由原始灰度或黑色值变换获得的特征.设原始图像为f(x,y),依照一定的准则f(x,y)中找到特征值T,将图像分割为两个部份,分割后的图像为:

若取:

b0=0(黑),b1=1(白),即为我们通常所说的图像二值化.

设图像为f(x,y),其灰度集范围是[0,L],在0和L之间选择一个合适的灰度阈值T,则图像分割方法可由下式描述

 

这样获得的g(x,y)是一幅二值图像.

图2-1图像分割算法

2.2.2全局阈值分割

阈值法有多种类型,主要有:

全局阈值,自适应阈值等.所谓全局阈值,如果布景的灰度值在整个图像中可合理的看做恒定,而且所有物体与布景都具有几乎相同的比较度,那么,只要选择了正确的阈值,使用了一个固定的全局阈值一般会有较好的效果.

给出利用全局阈值分割图像的MATLAB法式如下:

I=imread('tsaml.jpg');

fori=1:

width

forj=1:

height

if(I(i,j)<60)

BW1(i,j)=0;

else

BW1(i,j)=1;

end

end

end

figure

imshow(BW1)

这里设定了一个常数60,通过比力灰度值与60的年夜小关系来重新给图像赋值.

2.2.3自适应阈值

在许多情况下,布景的灰度值其实不是常数,物体和布景的比较度在图像中也有变动,这时就要引入自适应阈值,一个在图像中某一区域效果良好的阈值在其他区域却可能效果很差.在这种情况下,需要把灰度阈值取成一个随图像中位置缓慢变动的函数值,即为自适应阈值.

这类算法的时间复杂度和空间复杂度比力年夜,可是抗噪声的能力比力强,对采纳全局阈值不容易分割的图像有较好的效果.这种方法的关键问题是如何将图像进行细分和如何为获得子图像估计门限值.由于用于每个像素的门限取决于像素在子图像中的位置,这类门限处置是自适应的.

2.3边缘检测原理

边缘检测是图像处置和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变动明显的点.图像属性中的显著变动通常反映了属性的重要事件和变动.这些包括(i)深度上的不连续、(ii)概况方向不连续、(iii)物质属性变动和(iv)场景照明变动.边缘检测是图像处置和计算机视觉中,尤其是特征提取中的一个研究领域.

图像边缘检测年夜幅度地减少了数据量,而且剔除可以认为不相关的信息,保管了图像重要的结构属性.有许多方法用于边缘检测,它们的绝年夜部份可以划分为两类:

基于查找一类和基于零穿越的一类.基于查找的方法通过寻找图像一阶导数中的最年夜和最小值来检测鸿沟,通常是将鸿沟定位在梯度最年夜的方向.基于零穿越的方法通过寻找图像二阶导数零穿越来寻找鸿沟,通常是Laplacian过零点或者非线性差分暗示的过零点.

有许多用于边缘检测的方法,他们年夜致可分为两类:

基于搜索和基于零交叉.

基于搜索的边缘检测方法首先计算边缘强度,通经常使用一阶导数暗示,例如梯度模,然后,用计算估计边缘的局部方向,通常采纳梯度的方向,并利用此方向找到局部梯度模的最年夜值.

基于零交叉的方法找到由图像获得的二阶导数的零交叉点来定位边缘.通经常使用拉普拉斯算子或非线性微分方程的零交叉点.

滤波做为边缘检测的预处置通常是需要的,通常采纳高斯滤波.

已发表的边缘检测方法应用计算鸿沟强度的怀抱,这与平滑滤波有实质的分歧.正如许多边缘检测方法依赖于图像梯度的计算,他们用分歧种类的滤波器来估计x-方向和y-方向的梯度.

一旦我们计算出导数之后,下一步要做的就是给出一个阈值来确定哪里是边缘位置.阈值越低,能够检测出的边线越多,结果也就越容易受到图片噪声的影响,而且越容易从图像中挑出不相关的特性.与此相反,一个高的阈值将会遗失细的或者短的线段.一个经常使用的这种方法是带有滞后作用的阈值选择.这个方法使用分歧的阈值去寻找边缘.首先使用一个阈值上限去寻找边线开始的处所.一旦找到了一个开始点,我们在图像上逐点跟踪边缘路径,当年夜于门槛下限时一直纪录边缘位置,直到数值小于下限之后才停止纪录.这种方法假设边缘是连续的界线,而且我们能够跟踪前面所看到的边缘的模糊部份,而不会将图像中的噪声点标识表记标帜为边缘

2.4图像物体中心位置简直定

物体的中心即物体内到四周距离相等的位置.根据此界说,很容易就能找到,求取物体内部所有像素点的X,Y坐标的平均值即可确定物体的中心坐标,然后将这个坐标所暗示的像素点用一个特定符号进行标识表记标帜,就能明显地找到该物体的中心.至于如何用特定符号标识表记标帜这个中心点,可以使用matlab中已经界说的一个用于画函数图形的plot函数即可,我们在这里只需要利用其进行标识表记标帜即可,基本函数形式可以暗示为:

plot(x,y,'*'),意思即为用*号标定(X,Y).

如何标定出中心点的任务解决了,剩下的工作就是对相应的图形坐标的处置,进而准确地找到中心点位置了.

此时,可以编写一段循环语句,由于第一个物体由1组成,第二个物体由2组成,第n个物体由n组成.可以界说一个k,从1到n连续变动,然后与物体内所包括的数值进行比力,若与此时的k值相等,则可以确定是一个物体,然后再将物体内部像素点的横纵坐标分别求平均值,这样就可以求出物体中心点的坐标,将此坐标贮存.同样的原理对第二个物体进行把持,如此往复直至第n个物体,,循环结束所有物体标定完成,最后通过plot函数对这些坐标对应的点进行标识表记标帜,即可找出个物体的中心,本课设只有一个物体,故只需要执行一次把持.

 

3设计法式与仿真结果

3.1提取目标的二值图像

对应matlab法式代码为:

I=imread('rgb.jpg');

I=rgb2gray(I);

figure

(1);

imshow(I);

imwrite(I,'gray.jpg');

[width,height]=size(I);

%È«¾ÖãÐÖµ

BW=zeros(width,height);

fori=1:

width

forj=1:

height

if(I(i,j)<80)

BW(i,j)=1;

end

end

end

figure

(2);

imshow(BW);

对应的运行结果如下图:

 

图3-1

灰度图像与转换后的二值图像

3.2计算目标的面积

对应matlab法式代码为:

I=imread('rgb.jpg');

I=rgb2gray(I);

figure

(1);

imshow(I);

[width,height]=size(I);

area=0;

fori=1:

width

forj=1:

height

if(BW(i,j)==1)

area=area+1;

end

end

end

area

对应的运行结果为:

area=

7416

3.3计算目标的周长

对应matlab法式代码为:

I=imread('bw.jpg');

BW1=edge(I,'Roberts');

figure;

imshow(BW1);

imwrite(BW1,'by.jpg');

[width,height]=size(BW1);

circum=0;

fori=1:

width

forj=1:

height

if(BW(i,j)==0)

circum=circum+1;

end

end

end

circum

对应的运行结果为:

circum=

7099

3.4计算目标的中心坐标

对应matlab法式代码为:

clc;clearall;

I=imread('bw.jpg');%加载图像

I1=im2bw(I);

L=bwlabel(I1);

stats=regionprops(L,'Centroid');

holdon

fori=1:

length(stats)

temp=stats(i).Centroid;%计算中心坐标

plot(temp

(1),temp

(2),'+r');%获得中心坐标后用+标出

end

对应的运行结果为:

图3-2计算目标的中心坐标

 

4心得体会

课程设计早期,由于对图片的处置不够熟练,直接对黑色图像进行二值化,招致最后法式运行的结果中呈现了三张图.后来分析得知,呈现三张图的原因应该是真彩图像的三原色对应三个变量分别进行了二值化.于是对图像进行了灰度变换,然后再进行二值化就不会呈现上述问题.

通过本次专业综合课程设计,我进一步熟悉了如何使用matlab软件岁图像进行处置,加深了《数字图像处置》这门课程的认识.课程设计过程中遇到了很多困难,通过广泛地查阅相关资料最终解决了这些问题,提高了自力思考和解决问题的能力.

同时,通过此次课程设计,我也有了很多新的认识.首先,很多知识其实书上都已经讲的很透彻了,只要把课本上的内容看懂就完全能完成题目要求.参考文献是对课本以外的知识的拓展,在完成要求的基础上多翻看一些相关书籍对题目的理解会更深入一些.

其次,数字图像处置在现实生活中有着非常广泛的应用,在心理学、生理学、计算机科学等诸多领域内都发挥着作用.同时,图像处置在军事、遥感、气象等年夜型应用中有不竭增长的需求.我想,经过这次课程设计我不单对数字图像处置有了更深入的了解,对MATLAB编程变得更加熟练,更重要的是激发了我在数字图像处置方面的兴趣.相信这份兴趣会成为以后继续深入学习数字图像处置方面知识的动力.

 

参考文献

[1]夏得深傅德胜《现代图像处置技术与应用》西北年夜学出书2001

[2]杨杰黄朝兵《数字图像处置及MATLAB实现》电子工业出书社2010

[3]冈萨雷斯《数字图像处置(MATLAB版)》电子工业出书社2005

[4]胡学龙许开宇《数字图像处置》电子工业出书社2006

[5]刘直芳王运琼《数字图像处置分析》清华年夜学出书社2006

创作时间:

二零二一年六月三十日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1