基于图像处理的橘子计数方法研究
2019-07-17何秀文刘仁鑫
金 耀,何秀文,刘仁鑫
基于图像处理的橘子计数方法研究
金 耀,何秀文*,刘仁鑫
(江西农业大学 工学院,江西 南昌 330045)
近年来随着人工智能的发展,计算机视觉及图像处理等新兴技术已经活跃在公众的视野之中。现代技术发展的今天,通过图像处理技术对对象实行智能统计成为可能,基于OpenCV通过一系列图像预处理再经过软件算法实现对橘子的计数。该计数方法不仅节省了人力物力而且使计数流程更加方便快捷,有助于辅助人们实现简单的计数要求。
计算机视觉;图像处理;智能计数
随着科技的发展、实验的需要,时常要对橘子的数量进行统计。在古代,先辈们提出了各种各样的用于日常计数的方法,主要分为以下几种:结绳计数、书契计数、算盘计数、“正”字计数等。这之中的某些方法还一直沿用至今。
21世纪随着人工智能的兴起,其下属的计算机视觉及图像处理也随之飞速发展,其运用广泛分布于各领域,给人们的生活带来了极大地便利。在现代科学技术高度发展的今天,传统的计数方法已经不适用于讲究高效率的现代生活,使用人工智能来替代人眼去自动识别计数对象,并通过计算机来自动实现计数已经不再停留于理论阶段。
本文以橘子计数为例,利用计算机视觉和图像处理技术的相关理论,对该智能计数方法进行理论分析,最后通过软件算法实现对橘子计数的研究。
1 图像处理
1.1 图像处理技术概论
图像处理其全称为数字图像处理,是指利用计算机来对得到的图像进行图像分析并对其进行处理以达到所需结果的技术[1]。
本研究是基于OpenCV进行的图像处理操作,OpenCV是因特尔公司在1999年发行的一个跨平台计算机视觉库[2]。OpenCV在计算机视觉及图像处理领域有着广泛的运用。OpenCV的兴起和不断完善,在图像处理中的作用越来越大。由此本文使用OpenCV进行图像处理完成对橘子计数的研究。通过软件实现的基本流程如下:亮度及对比度调整→灰度处理→图像二值化→形态学处理→连通域计数。
1.2 图像预处理
1.2.1 图像灰度化 本文中使用工业CCD相机进行图像的采集得到原图(图1)。
常用的颜色系统有RGB、HSV、HLS等。其中RGB三原色的色彩系统模式是通过改变R、G、B 3个通道的参数值来得到各种各样的颜色,通过这3种颜色通道的变化几乎可以得到人类目前能感知到的所有颜色,也是目前运用最广的颜色系统之一[3]。
从图1可以明显看出原图像的背景部分明暗不均,存在阴影部分和高亮部分,这是由于在图片的获取过程中因为周边事物的干扰导致分布在背景上的光线分布不均,为了消除背景明暗不均的现象将原图的亮度和对比度做适量的调整,以便后续的处理。在OpenCV中实际上就是对其进行点操作[3],其原理为将原来图像的像素()乘上一个增益参数来控制图像对比度,在加上一个偏置参数控制图像的亮度。公式如下:
()=×()+(1)
将原图像经过处理后可以很大程度上消除背景噪声带来的影响,又可以保留对象的特征,如图2所示。
图1 橘子原图
图2 调整亮度、对比度后的橘子图
一般利用相机拍摄彩色图像而彩色图像中的每个像素由R、G、B 3个通道的分量值共同决定,而每个通道的分量有255种值可以选择,因此经过排列组合一个像素点的取值可以有1600多万种颜色可选[4]。如此多的色彩变化不仅会带来极大地内存消耗也会严重影响计算机的运行效率同时增加了图像处理的复杂程度。而灰度图像的每个像素是由一个单通道的数值决定的,单通道的像素值变化范围为255种,因此在数字图像处理过程中一般先将原图像转变成灰度图像以此可大大减小原图像所包含的信息量[5],降低图像处理的复杂度并且在灰度图像中图像的总体特征和局部的亮度等级等都可以得到有效保留。
在OpenCV中RGB转灰度,通常使用公式:
=×0.299+×0.587+×0.114 (2)
OpenCV支持各种图片格式的操作,其中cvtColor()函数是OpenCV里的颜色转换函数,可以实现各种颜色空间的转换,也可以转换成灰度图像。在函数的第3个参数输入CV_BGR2GRAY使得彩色原图转换成灰度图结果如图3所示。
1.2.2 图像二值化 图像的二值化处理可以使得整个图像呈现出明显的黑白效果并有效分离出目标对象和背景。在数字图像处理中,图像的二值化具有非常重要的作用,该操作使得图像中的数据量进一步减少,降低了后续图像处理的复杂程度并且图像二值化能凸显出目标的轮廓以及加快运行效率。
二值化的公式如下:
本文利用OpenCV中的Threshold()函数对灰度图进行基本阈值处理得到本文所需的二值图运行结果见图4。
图4 二值化后的橘子图
1.2.3 形态学处理 在二值化的图像中依然存在许多的噪声或者是其他一些干扰因素,因此需要对二值化以后的图像进行形态学处理[6]。
通过腐蚀和膨胀的形态学操作可以在很大程度上消除噪声和背景的干扰得到更加特征分明的图像,开运算处理,其本质上就是对图像先进行腐蚀后进行膨胀,对图像进行开运算能够消除二值图像中孤立的噪声且在平滑较大物体的边界时可以不明显改变其面积[7]。本文利用OpenCV对二值图像进行开运算其运行结果见图5。
2 计数实现
在经过对图像的形态学处理以后,在很大程度上消除了背景和噪声的干扰,经过分割处理得到了目标对象的总体特征,接着就是进行连通域的分析处理。
图5 开运算后的橘子图
图6 统计结果
通域的分析处理即利用OpenCV中的findContours()函数对图像进行外轮廓提取,接着对连通域内填充不同的颜色用drawContours()绘制轮廓,最后利用contours.size()对其进行计数。将不同的连通域通过不同的颜色进行填充再利用计数函数可以得数统计结果,完成本次计数的流程。计数结果见图6。
在本次图像处理的过程中仍然存在诸多干扰因素,比如在图像获取的过程中,光线的强弱、橘子的堆叠,周围环境及对象本身的识别难度都会对检测结果造成一定的干扰。
因此在图像处理之前可以采取一些必要措施,例如在拍摄图像的过程中将背景改成全白色或黑色,并且在四周增加补光灯以提高背景的纯净度[7-8],橘子之间留有适当间隙避免粘连,以此可以获取更高质量的图像。
经过20组反复实验,本文选取6组检测结果如表1所示。该实验准确率超过91.3%,调整参数及周边环境,改良算法并且减小干扰因素,准确率可以进一步提高。
表1 选取的6组检测结果准确率
3 结 论
本文利用OpenCV对图像进行处理,通过对原图亮度及对比度的调整、图像灰度化、图像二值化、开运算处理以及连通域的标记等完成对橘子的计数。与传统方法不同的是,该计数方法是基于计算机视觉及图像处理理论并通过软件算法实现的自动计数方法,不仅极大地加快计数效率,减少了人工计数所花的时间,也在一定程度上促进了计算机视觉领域在日常生活中的使用。诚然该计数方法还有诸多不足,有待改进的地方,如橘子之间粘连部分引起的计数误差,形态学处理时噪声带来的影响等都是接下来研究的重点。
[1] 冈萨雷斯, 伍兹. 数字图像处理[M]. 3版. 北京: 电子工业出版社, 2011.
[2] 毛星云, 冷雪飞. OpenCV编程入门[M]. 北京: 电子工业出版社, 2015.
[3] 桑卡, 赫拉瓦卡. 图像处理、分析与机器视觉[M]. 4版. 北京: 清华大学版社, 2016.
[4] 安德里安·凯勒, 加里·布拉德斯. 学习OpenCV3(中文版)[M]. 北京: 清华大学出版社, 2018. 11.
[5] 李琼, 姚遥, 杨青春, 等. 基于MATLAB图像处理的大豆颗粒检测方法研究[J]. 中国农学通报, 2018, 34(30): 20-25.
[6] 张震, 肖冰冰. 基于图像处理的蚂蚁计数方法研究[J]. 软件工程, 2018, 21(7): 1-4.
[7] 刘哲, 黄文准, 王利平. 基于改进K-means聚类算法的大田麦穗自动计数[J]. 农业工程学报, 2019, 35(3): 174-181.
[8] 张书彦, 张文毅, 余山山, 等. 图像处理技术在信息农业中的应用现状及发展趋势[J]. 江苏农业科学, 2017, 45(22): 9-13.
Research on Orange Counting Method Based on Image Processing
JIN Yao, HE Xiu-wen*, LIU Ren-xin
(School of Engineering, Jiangxi Agricultural University, Nanchang 330045, China)
With the development of artificial intelligence in recent years, emerging technologies such as computer vision and image processing have been active in the public eye. Today, with the development of modern technology, it is possible to implement intelligent statistics on objects through image processing technology. Based on OpenCV and through a series of image preprocessing and software algorithms, this paper achieved the counting of oranges. The counting method not only saved manpower and material resources, but also made the counting process more convenient and quick. The study helped people achieve simple counting requirements.
computer vision; image processing; intelligent counting
TP391.4
A
2095-3704(2019)02-0156-04
2019-04-18
江西省科学技术厅项目(20132BBF60067)
金耀(1995—),男,硕士生,主要从事研究领域计算机视觉及图像处理研究,1151840806@qq.com;*通信作者:何秀文,副教授,ithxw@163.com。
金耀, 何秀文, 刘仁鑫. 基于图像处理的橘子计数方法研究[J]. 生物灾害科学, 2019, 42(2): 156-159.