基于图像算法的烟叶形状特征的提取-张伟略博士

2023-08-18

引言

      烟叶的形状特征如长度、宽度是影响烟叶组别和级别的重要因素,不同部位、不同品种的烟叶其长度也有明显的差异运用计算机图像处理时,重要信息通常主要体现在区域边界上,边界的确定对于图像的分析非常重要。只有获取图像区域边界,才能直观准确地对图像进行量化分析。因此,为使所图像轮廓精确测量达到满意效果,需选择合适的轮廓检测法。


1烟叶轮廓的检测

       传统轮廓跟踪算法主要适用于二值图像,不能满足彩色图像目标区域的轮廓检测,因此提出一种新的目标-邻域颜色判定法。该算法意在遍历彩色图像各个像素点及其邻域,并以目标区域烟叶蓝色通道值为判别指标,对烟叶图像各像素点通道值进行重置,从而检测出烟叶图像轮廓。运用该算法时,所属运行环境为嵌OpenCV的visual studio,图像类型为Mat型,因此各颜色通道表示如下:

       依据烟叶彩色图像各像素点以及当前像素点4-邻域值判别方式的不同,将该算法分为两步:

       (1)从图像第1行第1列开始,逐行逐列扫描图像各像素点(j,i)在排除背景区域的情况下,判别烟叶区域当前像素点4-邻域(j-1,i)(j+1,i)(j,i-1)(j,i+1)蓝色通道值是否有0。若有0,则将当前像素点各通道值置为255,即以白色绘制出该点,记为F1。继续扫描,依次找到符合条件的点Fi(i=123…n)以白色标记。所有白色点集聚绘制出烟叶轮廓。此步骤并未将烟叶内部像素点颜色去除,如图1(a)。

111.png

      (2)在(1)的基础上再排除所检测出的烟叶轮廓,然后判别烟叶区域当前像素点4-邻域蓝色通道值是否有不等于0。若存在则将当前像素点各通道值置为0(为黑色)。通过该步,可进一步去除烟叶内部像素点,仅保留烟叶轮廓,以便于后续的特征分析,如图1(b)。


       通过该方法,运用C++(调用OpenCV函数库)程序可以快速绘制出烟叶彩色图像轮廓图,而且烟叶轮廓连续,清晰且为单像素点,为后续轮廓的形拟合提供基础的保证。


2特征数据的提取

       在检测绘制出烤烟烟叶外形轮廓后,需对轮廓进行拟合。在图像处理应用中,由于矩形拟合的计算量相对较少,因此常采用其对图像中的目标区域闭合曲线进行近似定位检测、分析。本文选用最小外接矩形法对烟叶轮廓进行拟合,其思路如下:

      (1)计算最小凸多边形。根据CvBox2D程序算法中的CvMinAreaRect2估算闭合曲线的旋转角度θ和重心位置(x,y),然后旋转外形以得到给定2D点集的最小面积的包围矩形。

      (2)采用Opencv函数库中cvBoxPoints算法找出烟叶轮廓最小外接矩形的4个点,即pt[0]、pt[1]、pt[2]、pt[3]。然后根据四个顶点的x、y坐标,分别计算出外接矩形的长宽length和宽度width。

采用矩形拟合法对烟叶外形轮廓近似拟合,效果如图2所示。

222.png


3结论

      采用目标-邻域颜色判定法绘制出图像中烟叶的外形轮廓,能够有效提高烟叶轮廓检测的效率。在此基础上,运用矩形拟合法及比例测绘法计算出烟叶的长度、宽度,为后续烟叶的分级提供了可靠的数据。