金 耀,何秀文,劉仁鑫
?
基于圖像處理的橘子計數(shù)方法研究
金 耀,何秀文*,劉仁鑫
(江西農(nóng)業(yè)大學 工學院,江西 南昌 330045)
近年來隨著人工智能的發(fā)展,計算機視覺及圖像處理等新興技術(shù)已經(jīng)活躍在公眾的視野之中?,F(xiàn)代技術(shù)發(fā)展的今天,通過圖像處理技術(shù)對對象實行智能統(tǒng)計成為可能,基于OpenCV通過一系列圖像預處理再經(jīng)過軟件算法實現(xiàn)對橘子的計數(shù)。該計數(shù)方法不僅節(jié)省了人力物力而且使計數(shù)流程更加方便快捷,有助于輔助人們實現(xiàn)簡單的計數(shù)要求。
計算機視覺;圖像處理;智能計數(shù)
隨著科技的發(fā)展、實驗的需要,時常要對橘子的數(shù)量進行統(tǒng)計。在古代,先輩們提出了各種各樣的用于日常計數(shù)的方法,主要分為以下幾種:結(jié)繩計數(shù)、書契計數(shù)、算盤計數(shù)、“正”字計數(shù)等。這之中的某些方法還一直沿用至今。
21世紀隨著人工智能的興起,其下屬的計算機視覺及圖像處理也隨之飛速發(fā)展,其運用廣泛分布于各領(lǐng)域,給人們的生活帶來了極大地便利。在現(xiàn)代科學技術(shù)高度發(fā)展的今天,傳統(tǒng)的計數(shù)方法已經(jīng)不適用于講究高效率的現(xiàn)代生活,使用人工智能來替代人眼去自動識別計數(shù)對象,并通過計算機來自動實現(xiàn)計數(shù)已經(jīng)不再停留于理論階段。
本文以橘子計數(shù)為例,利用計算機視覺和圖像處理技術(shù)的相關(guān)理論,對該智能計數(shù)方法進行理論分析,最后通過軟件算法實現(xiàn)對橘子計數(shù)的研究。
圖像處理其全稱為數(shù)字圖像處理,是指利用計算機來對得到的圖像進行圖像分析并對其進行處理以達到所需結(jié)果的技術(shù)[1]。
本研究是基于OpenCV進行的圖像處理操作,OpenCV是因特爾公司在1999年發(fā)行的一個跨平臺計算機視覺庫[2]。OpenCV在計算機視覺及圖像處理領(lǐng)域有著廣泛的運用。OpenCV的興起和不斷完善,在圖像處理中的作用越來越大。由此本文使用OpenCV進行圖像處理完成對橘子計數(shù)的研究。通過軟件實現(xiàn)的基本流程如下:亮度及對比度調(diào)整→灰度處理→圖像二值化→形態(tài)學處理→連通域計數(shù)。
1.2.1 圖像灰度化 本文中使用工業(yè)CCD相機進行圖像的采集得到原圖(圖1)。
常用的顏色系統(tǒng)有RGB、HSV、HLS等。其中RGB三原色的色彩系統(tǒng)模式是通過改變R、G、B 3個通道的參數(shù)值來得到各種各樣的顏色,通過這3種顏色通道的變化幾乎可以得到人類目前能感知到的所有顏色,也是目前運用最廣的顏色系統(tǒng)之一[3]。
從圖1可以明顯看出原圖像的背景部分明暗不均,存在陰影部分和高亮部分,這是由于在圖片的獲取過程中因為周邊事物的干擾導致分布在背景上的光線分布不均,為了消除背景明暗不均的現(xiàn)象將原圖的亮度和對比度做適量的調(diào)整,以便后續(xù)的處理。在OpenCV中實際上就是對其進行點操作[3],其原理為將原來圖像的像素()乘上一個增益參數(shù)來控制圖像對比度,在加上一個偏置參數(shù)控制圖像的亮度。公式如下:
()=×()+(1)
將原圖像經(jīng)過處理后可以很大程度上消除背景噪聲帶來的影響,又可以保留對象的特征,如圖2所示。
圖1 橘子原圖
圖2 調(diào)整亮度、對比度后的橘子圖
一般利用相機拍攝彩色圖像而彩色圖像中的每個像素由R、G、B 3個通道的分量值共同決定,而每個通道的分量有255種值可以選擇,因此經(jīng)過排列組合一個像素點的取值可以有1600多萬種顏色可選[4]。如此多的色彩變化不僅會帶來極大地內(nèi)存消耗也會嚴重影響計算機的運行效率同時增加了圖像處理的復雜程度。而灰度圖像的每個像素是由一個單通道的數(shù)值決定的,單通道的像素值變化范圍為255種,因此在數(shù)字圖像處理過程中一般先將原圖像轉(zhuǎn)變成灰度圖像以此可大大減小原圖像所包含的信息量[5],降低圖像處理的復雜度并且在灰度圖像中圖像的總體特征和局部的亮度等級等都可以得到有效保留。
在OpenCV中RGB轉(zhuǎn)灰度,通常使用公式:
=×0.299+×0.587+×0.114 (2)
OpenCV支持各種圖片格式的操作,其中cvtColor()函數(shù)是OpenCV里的顏色轉(zhuǎn)換函數(shù),可以實現(xiàn)各種顏色空間的轉(zhuǎn)換,也可以轉(zhuǎn)換成灰度圖像。在函數(shù)的第3個參數(shù)輸入CV_BGR2GRAY使得彩色原圖轉(zhuǎn)換成灰度圖結(jié)果如圖3所示。
1.2.2 圖像二值化 圖像的二值化處理可以使得整個圖像呈現(xiàn)出明顯的黑白效果并有效分離出目標對象和背景。在數(shù)字圖像處理中,圖像的二值化具有非常重要的作用,該操作使得圖像中的數(shù)據(jù)量進一步減少,降低了后續(xù)圖像處理的復雜程度并且圖像二值化能凸顯出目標的輪廓以及加快運行效率。
二值化的公式如下:
本文利用OpenCV中的Threshold()函數(shù)對灰度圖進行基本閾值處理得到本文所需的二值圖運行結(jié)果見圖4。
圖4 二值化后的橘子圖
1.2.3 形態(tài)學處理 在二值化的圖像中依然存在許多的噪聲或者是其他一些干擾因素,因此需要對二值化以后的圖像進行形態(tài)學處理[6]。
通過腐蝕和膨脹的形態(tài)學操作可以在很大程度上消除噪聲和背景的干擾得到更加特征分明的圖像,開運算處理,其本質(zhì)上就是對圖像先進行腐蝕后進行膨脹,對圖像進行開運算能夠消除二值圖像中孤立的噪聲且在平滑較大物體的邊界時可以不明顯改變其面積[7]。本文利用OpenCV對二值圖像進行開運算其運行結(jié)果見圖5。
在經(jīng)過對圖像的形態(tài)學處理以后,在很大程度上消除了背景和噪聲的干擾,經(jīng)過分割處理得到了目標對象的總體特征,接著就是進行連通域的分析處理。
圖5 開運算后的橘子圖
圖6 統(tǒng)計結(jié)果
通域的分析處理即利用OpenCV中的findContours()函數(shù)對圖像進行外輪廓提取,接著對連通域內(nèi)填充不同的顏色用drawContours()繪制輪廓,最后利用contours.size()對其進行計數(shù)。將不同的連通域通過不同的顏色進行填充再利用計數(shù)函數(shù)可以得數(shù)統(tǒng)計結(jié)果,完成本次計數(shù)的流程。計數(shù)結(jié)果見圖6。
在本次圖像處理的過程中仍然存在諸多干擾因素,比如在圖像獲取的過程中,光線的強弱、橘子的堆疊,周圍環(huán)境及對象本身的識別難度都會對檢測結(jié)果造成一定的干擾。
因此在圖像處理之前可以采取一些必要措施,例如在拍攝圖像的過程中將背景改成全白色或黑色,并且在四周增加補光燈以提高背景的純凈度[7-8],橘子之間留有適當間隙避免粘連,以此可以獲取更高質(zhì)量的圖像。
經(jīng)過20組反復實驗,本文選取6組檢測結(jié)果如表1所示。該實驗準確率超過91.3%,調(diào)整參數(shù)及周邊環(huán)境,改良算法并且減小干擾因素,準確率可以進一步提高。
表1 選取的6組檢測結(jié)果準確率
本文利用OpenCV對圖像進行處理,通過對原圖亮度及對比度的調(diào)整、圖像灰度化、圖像二值化、開運算處理以及連通域的標記等完成對橘子的計數(shù)。與傳統(tǒng)方法不同的是,該計數(shù)方法是基于計算機視覺及圖像處理理論并通過軟件算法實現(xiàn)的自動計數(shù)方法,不僅極大地加快計數(shù)效率,減少了人工計數(shù)所花的時間,也在一定程度上促進了計算機視覺領(lǐng)域在日常生活中的使用。誠然該計數(shù)方法還有諸多不足,有待改進的地方,如橘子之間粘連部分引起的計數(shù)誤差,形態(tài)學處理時噪聲帶來的影響等都是接下來研究的重點。
[1] 岡薩雷斯, 伍茲. 數(shù)字圖像處理[M]. 3版. 北京: 電子工業(yè)出版社, 2011.
[2] 毛星云, 冷雪飛. OpenCV編程入門[M]. 北京: 電子工業(yè)出版社, 2015.
[3] ??? 赫拉瓦卡. 圖像處理、分析與機器視覺[M]. 4版. 北京: 清華大學版社, 2016.
[4] 安德里安·凱勒, 加里·布拉德斯. 學習OpenCV3(中文版)[M]. 北京: 清華大學出版社, 2018. 11.
[5] 李瓊, 姚遙, 楊青春, 等. 基于MATLAB圖像處理的大豆顆粒檢測方法研究[J]. 中國農(nóng)學通報, 2018, 34(30): 20-25.
[6] 張震, 肖冰冰. 基于圖像處理的螞蟻計數(shù)方法研究[J]. 軟件工程, 2018, 21(7): 1-4.
[7] 劉哲, 黃文準, 王利平. 基于改進K-means聚類算法的大田麥穗自動計數(shù)[J]. 農(nóng)業(yè)工程學報, 2019, 35(3): 174-181.
[8] 張書彥, 張文毅, 余山山, 等. 圖像處理技術(shù)在信息農(nóng)業(yè)中的應用現(xiàn)狀及發(fā)展趨勢[J]. 江蘇農(nóng)業(yè)科學, 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
江西省科學技術(shù)廳項目(20132BBF60067)
金耀(1995—),男,碩士生,主要從事研究領(lǐng)域計算機視覺及圖像處理研究,1151840806@qq.com;*通信作者:何秀文,副教授,ithxw@163.com。
金耀, 何秀文, 劉仁鑫. 基于圖像處理的橘子計數(shù)方法研究[J]. 生物災害科學, 2019, 42(2): 156-159.