您好, 访客   登录/注册

基于计算机视觉的珍珠大小检测系统

来源:用户上传      作者:

  摘 要
  我国是珍珠生产大国,对珍珠按照大小进行分拣,可以提高珍珠的价值,具有很强的市场价值。传统的人工测定方法存在效率较低、可重复性差等缺点。本文利用计算机视觉技术,以.Net为开发工具,以Emgucv为图像处理平台,设计并实现了一套具备检测珍珠大小和面积的功能的珍珠大小检测系统。在一定程度上克服人工检测的缺点,可应用于珍珠分拣领域。
  关键词
  Emgucv ;计算机视觉;珍珠检测
  中图分类号: G01N21/87               文献标识码: A
  DOI:10.19694/j.cnki.issn2095-2457 . 2020 . 17 . 16
  0 引言
  我国是世界上最大的珍珠生产国,珍珠已经发展成为一个极大的产业。珍珠的大小是判断珍珠价值的判断标准之一,也是与珍珠质量相关的一个的参数。根据大小对珍珠分类,可以在一定程度上提高珍珠的价值[1]。目前,珍珠分选过程除了其初期大小的分选采用机械平面筛选外,大部分依靠人工作业[2]。但是人工作业人力成本高、长期用眼导致工作效率下降等缺点,通过计算机视觉,实现珍珠大小的自动判断,可以提高工作效率。
  1 本文的研究内容
  本文通过计算机视觉技术,对珍珠图像进行预处理将珍珠从背景图像中分离,并测量出珍珠的面积和长短轴。首先过滤掉图像的背景,然后通过轮廓提取得到珍珠的边缘部分,再得到像素点的个数,得出在图像中珍珠面积和长短轴所对应的像素值。同时在获取图像时,放置一个已知大小的硬币作为参照物,结合珍珠在图像上的像素值,计算出珍珠的实际面积和长短轴。本文采用EmguCV作为图像处理的开发包。
  对于珍珠的面积,本文采用图像中拍摄的珍珠的像素点数量进行衡量。而对于长短轴,由于珍珠可能是一个不规则的物体,长短轴并没有一个准确的定义[3-4]。本文的处理方式在图像上的珍珠上绘制出一个包围珍珠的最小矩形,这个矩形的长短轴就是这个珍珠的长短轴,如图1所示。
  2 图像的预处理
  本文在加载图像后,首先将彩色图像转换为灰度图像,然后进行图像去噪,之后进行二值化,其流程图2所示。
  在二值化的方法中,比较常用的二值化方法有以下几个:OTSU法、P参数法、迭代法、双峰法等,本文选择是otsu算法进行二值化,得到图4。
  图3左上角第一颗珍珠,在经过二值化后珍珠图像变成了只有黑白两色,效果如图5所示。
  3 珍珠的提取与检测
  3.1 珍珠和参照物
  因为选择的图片是珍珠颜色和背景颜色差别较大的图片,所以在经过上面的图像处理后珍珠与背景会完全分开,分别呈现为白色和黑色。在这里则使用轮廓提取函数FindContours找出珍珠和参照物的轮廓。
  图7为图5进行轮廓提取后得到的图像。二值化的珍珠,在经过轮廓提取后只剩下珍珠的边缘部分。
  3.2 绘制最小矩形
  本文选择的是使用最小矩形的方式计算珍珠的长短轴。
  EmguCV库中有名为MinAreaRect函数,该函数可以將根据提取出来的轮廓顶点自动寻找出包围这个轮廓的最小矩形。
  在绘制最小矩形时,系统会是通过计算之前经过轮廓提取后所得到的图像轮廓点集,来获取矩形点集,在使用GetVertices()函数得到矩形的四个顶点。即可计算出珍珠的长短轴。再使用Line函数将矩形绘制在图片上。
  各个珍珠的面积,长短轴和坐标点的像素值是在这个阶段得到的。
  如图9为在图7的基础上绘制的最小矩形,在珍珠的边缘部分绘制上了一个矩形
  3.3 计算面积和长短轴
  珍珠面积的计算:在进行图像轮廓提取后,使用EmguCV中自带的ContourArea函数计算面积,该函数能自动求出轮廓所包含的像素点。
  珍珠长短轴的计算:在进行图像轮廓提取后,使用EmguCV中自带的ContourArea函数计算包围该轮廓的最小矩形,这个矩形的长短轴的像素点数认作是珍珠的长短轴。
  计算结果会按照比例尺进行计算,得出珍珠的实际面积和长短轴。本文选择的是第六套5角钱硬币,面积约为329.9mm2,直径为20.5mm。计算结果保存在珍珠结构体数组中,并会在打开的图片上显示出计算结果,上面的数值为长轴,下面的数值为短轴。效果如图10所示。
  4 结论
  本文从珍珠图片中提取出了珍珠,计算出了图片中珍珠的个数,接着采用图像处理技术和形态学相关知识,描绘出每颗珍珠的轮廓。然后从轮廓图的基础上,对珍珠进行标记,绘制出了包围珍珠的最小矩形,继而算出单个珍珠所占像素点的个数。接着在原图的基础上,提取参照物像素值,再计算比例尺,结合之前每颗珍珠所占的像素点数算出珍珠的实际面积和长短轴,从实际比较结果中可以知道本文的算法是可行的。
  目前的程序还只能处理一些特定的珍珠图片(背景颜色与珍珠颜色的灰度值需要有一定差别),珍珠图片来源于本地,需要用户拍摄后保存到本地电脑才能使用。有参照物条件下参照物必须放在图片右下角。还有就是珍珠放置的时候需要分开摆放,不能有重叠,否则会影响到珍珠的检测结果。
  参考文献
  [1]戴银根,罗洁.中国淡水珍珠产业现状与对策研究[J].中国水产,2006(7):12-13.
  [2]郑华文,曹衍龙,杨将新.基于计算机视觉的珍珠形状分级识别技术研究[J].工程设计学报,2008,15(5):365-368.
  [3]李革,李斌,王莹等.珍珠形状的计算机视觉识别[J].农业机械学报,2008, 39(7):129-132.
  [4]林开颜,吴军辉,徐立鸿.基于计算机视觉技术的水果形状分级方法[J].农业机械学报,2005,36(6):71-74.
转载注明来源:https://www.xzbu.com/8/view-15283791.htm