颜色和形状特征在硬币分离中的应用
2020-10-21陈紫微易小泉张倚凌傅茂龙
陈紫微 易小泉 周 猛 张 威 张倚凌 傅茂龙
(华东交通大学理工学院,江西 南昌 330100)
1 硬币分离总流程
硬币分离总流程如图1-1:
图1-1 总流程图
2 基于颜色特征分离五角硬币
2.1 图像获取
利用智能手机等照相设备获取一张包含3种硬币的图像(图2-1(a)),该样本图像选择黑色作为背景,图像为png格式,因为该格式图片具有体积小、无损压缩、照片清晰等特点,可以提高后期图像处理的运算速度。
2.2 基于HSV颜色模型对五角硬币进行特征提取
对物体进行颜色特征提取时常使用RGB颜色模型,但RGB颜色易受光照强度影响,所以本文采用对光照强度变化不敏感的颜色模型——HSV,HSV分别为色调(H)、饱和度(S)、明度(V),经过大量实验并查阅相关资料得出五角硬币HSV变化区间为[0,56,99]到[180,255,255],一元和一角的HSV变化区间为[0,0,89]到[180,51,219],将提取出的五角和一元、一角的颜色分别放置于创建的黑色背景中,如图2-1(b)、2-1(c)所示。
图2-1 硬币特征的提取
2.3 五角图像处理
由图2可见,颜色分离后仍存在一些噪点,可利用形态学手段进行处理。本文先利用开运算去除噪点,即先腐蚀后膨胀,开运算具有能够除去孤立的小点、毛刺和小桥,而总的位置和形状不变,开运算后的RGB图像如图2-2(a)。然后采用最大类间方差法(又称Otsu算法)对图像阈值分割得到二值图像如图2-2(b)。
二值图像中存在许多肉眼看不到的连通域,此时采取膨胀将与物体接触的所有背景点合并到该物体上,使边界向外部扩张,填充图像中的小孔及边缘处的小凹陷,从而能获得完整的连通域。最后对连通域进行计数,连通域的个数即为五角硬币数,如图2-2(c)为膨胀后具有2个连通域的图像。
图2-2 图像的处理
3 基于Hough变换圆形检测分离一元和一角硬币
3.1 图像预处理及边缘检测
从图2-1(c)中可以看出颜色分离后的图像不够平滑,存在许多凹坑,如直接对该图像边缘检测会提高后期霍夫变化的计算量,所以先对图像预处理,先开运算后膨胀。开运算时必须选择适当的结构元素。图3-1(a)选择disk结构元素开运算后的二值图像,硬币的大致轮廓信息已经丢失,这对后期Hough变换检测圆很不利,经过大量实验后选取line结构元素对图像进行开运算,结构元素se=strel(′line′,10,45)开运算后如图3-1(b),可见圆形轮廓基本保留。
图3-1 开运算后的二值图像
开运算后阈值分割转化的二值图像不够平滑,所以可对图像进行膨胀,本文选择结构元素ones(12,12)对图像膨胀,膨胀后如图3-2(a)所示。膨胀处理后对其进行边缘检测,本文利用Canny算子进行边缘检测,检测结果如图3-2(b)。
图3-2
3.2 Hough变换
Hough变换实质是对图像进行坐标变换,将图像空间的线条变为参数空间的聚集点,从而将原始图像中检测给定形状的曲线问题,变成寻找参数空间中峰点的问题。它可以检测直线,同时也能够很好地检测圆和椭圆,检测圆形的原理如下:
根据圆的平面方程(x-a)2+(y-b)2=r2,通过Hough变换将图像空间(x,y)转换到参数空间(a,b,r),然后对其进行累加完成检测。但此方法的计算量很大,所以在进行Hough变换之前都需要对图像进行边缘提取,利用边界像素的灰度梯度信息估计出下式中的角度θ,以此来降低计算量:
(1)
根据公式(1),需要对半径r和角度θ进行搜索,所以这里应该首先设置半径和角度方向的搜索步长step_r和step_angle,接着给出半径搜索的最大和最小值,这2个数值根据经验确定,然后就可以确定半径和角度的最大搜索次数。最后根据式(1)计算出对应参数a和b,根据a,b的范围确定hough空间累加器hough_adder是否自增。
由于图像中不止一个圆,所以不能直接利用hough_adder中的最大值确定半径,需要设置阈值thre来确定一定半径的圆,当阈值设置合理才可找出图像中的圆。对阈值范围内的点进行搜索,当满足圆周内外各5个像素点时,该点可以认为是我们搜寻圆上的点。通过Hough变换将图像中圆检测出来,并且可以将圆心坐标和圆半径都显示出来。
最后通过区分圆半径的方法区分出一元和一角硬币,由于这里设置搜索出来的圆半径是逐渐递增的,所以只需要判断在两个相邻点之间圆的半径是否存在跳变。因为如果是不同的一元硬币,即使受拍照角度的影响,它们的半径值也不会相差很多。由于我们只提取出一元和一角硬币,这样我们就可以把圆分成2类,然后在每一类中再寻找半径相似的圆位于不同坐标的个数,也就确定了同样面值的硬币的个数。Hough变换圆形检测结果如图3-3。
图3-3 Hough变换圆形检测
4 结语
五角硬币分离的关键在于HSV参数选取,该参数会受光照强度的影响,因此需要根据不同工程应用进行适当调节,以获取最佳识别效果。Hough变换检测圆的关键在于阈值选取,如果选择偏大,则无法将图像中的圆都检测出来。相反,如果偏小,那么可能检测出图像中其它的非目标圆。