《视频与图像处理-物体分类》由会员分享,可在线阅读,更多相关《视频与图像处理-物体分类(4页珍藏版)》请在金锄头文库上搜索。
1、0 本作业完成内容与总结本作业利用图像Hu矩的不变性,借助 VS2010和OpenCV编程,主要完成:对4种叶子图像进行二值化并计算图像的不变矩,计算验证同类图像(经过旋转、平移、尺度伸缩等)的不变Hu 矩;针对Hu 矩的不变性,通过设定阀值,对给定图像进行分类。从对程序调试的过程分析,每类叶子图像使用Hu矩算法都能得到相近的Hu矩值,并且对于不同类的图像,设定不变矩的阈值能够较好的对四类叶子分类,分辨率效果为92.9%。1 图像的Hu矩对图像目标的识别首先需要抽取目标的特征,然后用适当的数学表示对目标。不变矩理论是模式识别和计算机视觉中的一个重要内容。常用的基于区域的矩不变理论最早由Hu 提
2、出来,并获得不断发展和广泛的应用。Hu矩不变量提出以后,已经被应用于图像、字符识别以及工业质量检测等许多领域。1.1 Hu矩的描述对于连续的灰度函数f(x,y)它的( i+j)阶二维原点矩M ij定义为由单值性定理(Uniqueness)可知:若f(x,y)为分段连续的有界函数,并且在x ,y平面上有限区域内为非零值。则所有的各阶矩均存在,且矩序列Mij唯一地被f(x,y)所确定;反之, Mij也唯一地确定了f(x,y) 。图像函数为满足上述条件的函数,因此存在各阶矩。定义离散形式的图像(i+j)阶矩为:定义图像的中心距为:定义归一化中心距为:文献6中证明下面定义的7个不变矩具有平移、尺度、旋
3、转不变性,称为Hu 矩。1.2 Hu矩的意义低阶矩主要描述图像的整体特性,如面积、主轴、方向角等;而高阶矩主要描述图像的细节,如扭曲度、峰态等。视频与图像处理技术作业一摘 要: 本作业借助VS2010和 OpenCV编程,对4种(每种7张,共28张)叶子图像进行分类。主要通过Hu矩对二值化的叶子图像进行形状描述,并通过图像不变矩阈值判断进行分类。从实验结果来看,Hu矩对图像分类具有较高的分辨率,对图像处理意义重大。关键词: 不变矩 图像分类 处理结果在七个矩不变量中,前六个具有镜像不变性,而第7个存在镜像变换。它们适合描述目标的整体形状,因此在边缘提取、图像匹配及目标识别中具有广泛的应用。同时
4、,这七个几何矩计算量各不相同,信息的含量也各不相同。图像中比较有用的信息多集中于计算量相对较小的低阶矩中,而高阶矩计算量大,且含有一些易受噪声干扰的细节信息,目标的高阶矩之间的差异不易区分开来。2 软件实现软件实现采用VS2010和OpenCV 库函数完成。为了方便理解,使用Visio画了程序流程图。2.1 总体流程图开始显示提示语输入功能选择输入是否为 a ?输入是否为 b ?退出图像二值化图像分类否是是否图1 主流程图程序主程序流程图如图1所示,用户通过输入字符来选择不同的功能。主程序在while循环中执行,输入按键并进行判断。当输入是a字符时,程序执行的功能输入要二值化的图像,对图像进行
5、二值化并显示;当输入是b字符时,程序执行对27幅叶子图像二值化、计算不变矩、分类;当输入的是其他按键时,通过“return”语句终止程序。2.2 单幅图像二值化并显示流程图如图2所示,为图像二值化实现的程序流程图。本程序通过调用opencv内的库函数来实现24位真彩色图像到8位灰度图像的转化。然后对图像的每个像素点进行而二值化。最后调用cvNamedWindow( char , int )创建窗口,调用cvShowImage( char , IplImage* )显示图片。是否 1 5 5 ?开始输入需要二值化的图像名读取图像否是图像灰度化依次获取图像像素值像素值为 0像素值为 2 5 5保存
6、像素值显示图片图像每个像素是否都二值化 ?否按键销毁图片窗口是返回图2 图像二值化并显示流程图2.3 图像分类 开始图像二值化处理图片数 n u m 2 8 ?是计算不变矩不变矩显示n u m + +分类图片数 n 2 8 ?第二 h u 矩是否在 0 . 0 0 9 5 , 0 . 0 1 9 6 内 ?第三 h u 矩是否在 0 . 0 0 1 3 , 0 . 0 0 7 5 内 ?第二 h u 矩是否在 0 . 0 0 0 1 , 0 . 0 0 0 8 内 ?否否否否为 A 类为 B 类为 C 类是是是为 D 类显示分类返回否图3 图像分类流程图如上图3所示,首先,对图像二值化,计算不
7、变矩保存在数组中并显示(如图5所示),这步在一个for循环中执行,可以依次对27幅图像二值化。 其次,对图像进行分类,本分类方法用到第二、第三个不变矩。本方法通过判断每类不变矩的值是否属于某个阈值范围进行四类叶子的分类。3 处理结果与分析3.1图像二值化显示测试显示如图4,为图像二值化测试显示。启动程序,选择输入a,回车后提示输入需要二值化的图像名,例如输入“2-1.jpg”,调试结果如下图4所示:图4 图像二值化测试图3.2图像分类测试显示如图5所示,选择输入b,回车后自动计算并显示27片叶子图像的不变矩,并对27片叶子图像进行分类。其中每片叶子有7个不变矩,图中只显示前3个不变矩。本程序把
8、计算的不变矩保存在二维数组InvaHu287中,供后面程序的调用。由于计算图像的不变矩算法计算比较复杂,计算机处理过程较慢,每计算一片叶子图像的不变矩都要等待片刻时间才能显示出来。分类结果如图5所示,A类和B类叶子能够准确的识别出来,B类和D类叶子中都有一个分辨错误。因此可以计算得图像分辨正确率为92.9%。图像分类结束之后,程序并没有终止退出,用户可以选择按键让程序终止运行。图5 程序测试图4 结论本次实验是使用Hu矩方法对二值化后的叶子图像进行形状描述,然后进行分类。图像分辨正确率比较高有92.9%。但是本实验的分类方法具有一定的局限性,对于不是本实验的叶子图像样本,分辨正确率可能会有所下
9、降。对于这24位真彩色四类叶子,我们肉眼可以很容易的分辨出来,但是由于叶子轮廓的不规则,二值化后的不同类叶子图像的轮廓存在一定的相似性,它们的不变矩差别不明显,单利用一个不变矩特性很难区分类别。这样可以找出每种不变矩在不同类叶子之间的分布特点进行分类。在实验中,通过对叶子图像进行尺度变化、平移以及旋转处理后,图像的不变矩基本不发生变化。说明,Hu矩的优点在于:对单纯地经过尺度变化、平移以及旋转处理后的图片具有很好的分辨效果。缺点在于:当图片很相近,或者引入一些噪声对图片产生干扰的时候,利用Hu 矩分辨图片可能得不到正确的结果。参考文献(References)1 Anil K. Jain 著.
10、数字图像处理基础. 清华出版社. 1989.2 余松煜, 周源华. 数字图像处理. 上海交通大学出版社. 2007. pp. 357-359.3 W. T. Freeman, K. Tanaka, J. Ohta, and K. Kyuma. Computer vision for computer games. Int. Conf. on Automatic Face and Gesture Recognition. 1996: 100-105.4 Gary R. Bradski. Computer vision face tracking for use in a perceptual user5 于仕琪等译. 学习OpenCV(中文版)M. 北京: 清华出版社, 20096 Hu M. K. Visual pattern recognition by moment invariants. IRE Trans. Info.Theory. 1962, 8: 179-187.