程穎 鄧飛 潘方琴
摘 要
我國是珍珠生產(chǎn)大國,對珍珠按照大小進(jìn)行分揀,可以提高珍珠的價值,具有很強(qiáng)的市場價值。傳統(tǒng)的人工測定方法存在效率較低、可重復(fù)性差等缺點。本文利用計算機(jī)視覺技術(shù),以.Net為開發(fā)工具,以Emgucv為圖像處理平臺,設(shè)計并實現(xiàn)了一套具備檢測珍珠大小和面積的功能的珍珠大小檢測系統(tǒng)。在一定程度上克服人工檢測的缺點,可應(yīng)用于珍珠分揀領(lǐng)域。
關(guān)鍵詞
Emgucv ;計算機(jī)視覺;珍珠檢測
中圖分類號: G01N21/87 ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼: A
DOI:10.19694/j.cnki.issn2095-2457 . 2020 . 17 . 16
0 引言
我國是世界上最大的珍珠生產(chǎn)國,珍珠已經(jīng)發(fā)展成為一個極大的產(chǎn)業(yè)。珍珠的大小是判斷珍珠價值的判斷標(biāo)準(zhǔn)之一,也是與珍珠質(zhì)量相關(guān)的一個的參數(shù)。根據(jù)大小對珍珠分類,可以在一定程度上提高珍珠的價值[1]。目前,珍珠分選過程除了其初期大小的分選采用機(jī)械平面篩選外,大部分依靠人工作業(yè)[2]。但是人工作業(yè)人力成本高、長期用眼導(dǎo)致工作效率下降等缺點,通過計算機(jī)視覺,實現(xiàn)珍珠大小的自動判斷,可以提高工作效率。
1 本文的研究內(nèi)容
本文通過計算機(jī)視覺技術(shù),對珍珠圖像進(jìn)行預(yù)處理將珍珠從背景圖像中分離,并測量出珍珠的面積和長短軸。首先過濾掉圖像的背景,然后通過輪廓提取得到珍珠的邊緣部分,再得到像素點的個數(shù),得出在圖像中珍珠面積和長短軸所對應(yīng)的像素值。同時在獲取圖像時,放置一個已知大小的硬幣作為參照物,結(jié)合珍珠在圖像上的像素值,計算出珍珠的實際面積和長短軸。本文采用EmguCV作為圖像處理的開發(fā)包。
對于珍珠的面積,本文采用圖像中拍攝的珍珠的像素點數(shù)量進(jìn)行衡量。而對于長短軸,由于珍珠可能是一個不規(guī)則的物體,長短軸并沒有一個準(zhǔn)確的定義[3-4]。本文的處理方式在圖像上的珍珠上繪制出一個包圍珍珠的最小矩形,這個矩形的長短軸就是這個珍珠的長短軸,如圖1所示。
2 圖像的預(yù)處理
本文在加載圖像后,首先將彩色圖像轉(zhuǎn)換為灰度圖像,然后進(jìn)行圖像去噪,之后進(jìn)行二值化,其流程圖2所示。
在二值化的方法中,比較常用的二值化方法有以下幾個:OTSU法、P參數(shù)法、迭代法、雙峰法等,本文選擇是otsu算法進(jìn)行二值化,得到圖4。
圖3左上角第一顆珍珠,在經(jīng)過二值化后珍珠圖像變成了只有黑白兩色,效果如圖5所示。
3 珍珠的提取與檢測
3.1 珍珠和參照物
因為選擇的圖片是珍珠顏色和背景顏色差別較大的圖片,所以在經(jīng)過上面的圖像處理后珍珠與背景會完全分開,分別呈現(xiàn)為白色和黑色。在這里則使用輪廓提取函數(shù)FindContours找出珍珠和參照物的輪廓。
圖7為圖5進(jìn)行輪廓提取后得到的圖像。二值化的珍珠,在經(jīng)過輪廓提取后只剩下珍珠的邊緣部分。
3.2 繪制最小矩形
本文選擇的是使用最小矩形的方式計算珍珠的長短軸。
EmguCV庫中有名為MinAreaRect函數(shù),該函數(shù)可以將根據(jù)提取出來的輪廓頂點自動尋找出包圍這個輪廓的最小矩形。
在繪制最小矩形時,系統(tǒng)會是通過計算之前經(jīng)過輪廓提取后所得到的圖像輪廓點集,來獲取矩形點集,在使用GetVertices()函數(shù)得到矩形的四個頂點。即可計算出珍珠的長短軸。再使用Line函數(shù)將矩形繪制在圖片上。
各個珍珠的面積,長短軸和坐標(biāo)點的像素值是在這個階段得到的。
如圖9為在圖7的基礎(chǔ)上繪制的最小矩形,在珍珠的邊緣部分繪制上了一個矩形
3.3 計算面積和長短軸
珍珠面積的計算:在進(jìn)行圖像輪廓提取后,使用EmguCV中自帶的ContourArea函數(shù)計算面積,該函數(shù)能自動求出輪廓所包含的像素點。
珍珠長短軸的計算:在進(jìn)行圖像輪廓提取后,使用EmguCV中自帶的ContourArea函數(shù)計算包圍該輪廓的最小矩形,這個矩形的長短軸的像素點數(shù)認(rèn)作是珍珠的長短軸。
計算結(jié)果會按照比例尺進(jìn)行計算,得出珍珠的實際面積和長短軸。本文選擇的是第六套5角錢硬幣,面積約為329.9mm2,直徑為20.5mm。計算結(jié)果保存在珍珠結(jié)構(gòu)體數(shù)組中,并會在打開的圖片上顯示出計算結(jié)果,上面的數(shù)值為長軸,下面的數(shù)值為短軸。效果如圖10所示。
4 結(jié)論
本文從珍珠圖片中提取出了珍珠,計算出了圖片中珍珠的個數(shù),接著采用圖像處理技術(shù)和形態(tài)學(xué)相關(guān)知識,描繪出每顆珍珠的輪廓。然后從輪廓圖的基礎(chǔ)上,對珍珠進(jìn)行標(biāo)記,繪制出了包圍珍珠的最小矩形,繼而算出單個珍珠所占像素點的個數(shù)。接著在原圖的基礎(chǔ)上,提取參照物像素值,再計算比例尺,結(jié)合之前每顆珍珠所占的像素點數(shù)算出珍珠的實際面積和長短軸,從實際比較結(jié)果中可以知道本文的算法是可行的。
目前的程序還只能處理一些特定的珍珠圖片(背景顏色與珍珠顏色的灰度值需要有一定差別),珍珠圖片來源于本地,需要用戶拍攝后保存到本地電腦才能使用。有參照物條件下參照物必須放在圖片右下角。還有就是珍珠放置的時候需要分開擺放,不能有重疊,否則會影響到珍珠的檢測結(jié)果。
參考文獻(xiàn)
[1]戴銀根,羅潔.中國淡水珍珠產(chǎn)業(yè)現(xiàn)狀與對策研究[J].中國水產(chǎn),2006(7):12-13.
[2]鄭華文,曹衍龍,楊將新.基于計算機(jī)視覺的珍珠形狀分級識別技術(shù)研究[J].工程設(shè)計學(xué)報,2008,15(5):365-368.
[3]李革,李斌,王瑩等.珍珠形狀的計算機(jī)視覺識別[J].農(nóng)業(yè)機(jī)械學(xué)報,2008, 39(7):129-132.
[4]林開顏,吳軍輝,徐立鴻.基于計算機(jī)視覺技術(shù)的水果形狀分級方法[J].農(nóng)業(yè)機(jī)械學(xué)報,2005,36(6):71-74.