耿欣 董云哲 孫玲 譚杰 徐慧磊 于海濤 李君興
(吉林省農(nóng)業(yè)機(jī)械研究院,吉林 長春 130011)
玉米是我國的主要谷物類農(nóng)作物,據(jù)國家統(tǒng)計(jì)局發(fā)布數(shù)據(jù),2021年全國全國谷物產(chǎn)量6.327億t,其中玉米產(chǎn)量2.725億t[1],占谷物產(chǎn)量的43.07%。每年到收獲季節(jié),都會(huì)產(chǎn)生大量的玉米秸稈,根據(jù)玉米秸稈系數(shù)1.04[2],則會(huì)產(chǎn)生大約2.834億t的玉米秸稈。玉米秸稈屬于農(nóng)業(yè)生態(tài)系統(tǒng)中十分寶貴的生物質(zhì)能資源,如何高效率、低成本利用玉米秸稈,已經(jīng)成為農(nóng)業(yè)科研中的研發(fā)熱點(diǎn)[3]。
目前國內(nèi)玉米秸稈的處理和利用主要有以下方法:燃燒燃料、粉碎還田、飼料化、燃燒發(fā)電、食用菌基料、手工藝品等[4-6]。玉米秸稈含有大量的營養(yǎng)元素[7],對(duì)玉米秸稈進(jìn)行精細(xì)加工處理,制作成高營養(yǎng)牲畜飼料,不僅有利于發(fā)展畜牧業(yè),而且通過秸稈過腹還田,更具有良好的生態(tài)效益和經(jīng)濟(jì)效益。隨著我國畜牧業(yè)的快速發(fā)展,飼料精細(xì)化加工得到越來越廣泛的重視,廣大科研工作者為把秸稈加工成適口性好、牲畜愛吃的優(yōu)質(zhì)飼料做著不懈的努力。
揉絲與切碎是玉米秸稈飼料化的重要方法之一,由于是碎片顆粒分析,本文通過張玉榮等[8]基于Python-OpenCV對(duì)小麥不完善識(shí)別的研究,辨別小麥單個(gè)籽粒的完善性;劉星星等[9]基于OpenCV的動(dòng)態(tài)葡萄干色澤實(shí)時(shí)識(shí)別,研究單個(gè)葡萄干的色澤,從而對(duì)葡萄干的品質(zhì)進(jìn)行分類等文獻(xiàn),總結(jié)出一種對(duì)秸稈碎片的分析方法。
背景選擇黑色不反光的試驗(yàn)平臺(tái),用白色紙膠帶圍成一個(gè)400mm×400mm的區(qū)域,其中中間區(qū)域有一排白色方片,尺寸分別為20mm×20mm、30mm×30mm、40mm×40mm、50mm×50mm、60mm×60mm,這些方片用作圖像尺寸標(biāo)定時(shí)的參照物,如圖1所示。

圖1 試驗(yàn)平臺(tái)及標(biāo)定方片
光源環(huán)境為熒光燈環(huán)繞光源即可,環(huán)繞光源照射均勻,有效地解決了物體產(chǎn)生的陰影,但光源不可直射平臺(tái),防止生成亮斑。
工業(yè)相機(jī)的位置為紙膠帶圍成區(qū)域的正上方,垂直照射,鏡頭平面距試驗(yàn)平臺(tái)的距離為500mm,如圖2所示。

1.環(huán)繞光源;2.相機(jī)支架;3.工業(yè)相機(jī);4.試驗(yàn)平臺(tái);5.框架
電腦CPU為Corei7-9700;編程軟件Python 3.8.10;工業(yè)攝像機(jī)及鏡頭,接口USB 3.0,免驅(qū)動(dòng),200萬像素(1920×1080),30幀·s-1。
通過圖像處理分別得到白色方片的像素尺寸和像素面積,用像素尺寸、面積比上實(shí)際尺寸、面積,求得每個(gè)方片的尺寸、面積系數(shù),5個(gè)方片的尺寸、面積系數(shù)再做平均得尺寸、面積的平均系數(shù),把平均系數(shù)代入程序中即可求得碎片的實(shí)際尺寸和實(shí)際面積。
1.3.1 計(jì)算相機(jī)像素尺寸與實(shí)際尺寸的比值
相機(jī)像素尺寸與實(shí)際尺寸的比值如表1所示。

表1 像素尺寸與實(shí)際尺寸的比值ηc
1.3.2 計(jì)算相機(jī)像素面積與實(shí)際面積的比值
相機(jī)像素面積與實(shí)際面積的比值如表2所示。

表2 像素面積與實(shí)際尺寸的比值ηm
1.3.3 計(jì)算相機(jī)像素尺寸與面積的平均換算系數(shù)
把ηc與ηm分別代入式(1)中,求得尺寸與面積的平均換算系數(shù)。
(1)
式中,ηa為平均系數(shù);ηi為每次測量得到的系數(shù);n為測量的組數(shù)。
通過式(1)計(jì)算,得圖像尺寸平均系數(shù)為2.54,即1mm≈2.54像素;圖像面積平均系數(shù)為6.32,即1mm2≈6.32像素。
隨機(jī)抓取秸稈碎片,平鋪到試驗(yàn)平臺(tái)上,需要剔除絲狀碎片,以及不能代表大多數(shù)形狀的碎片,如圖4所示。因?yàn)檫@2種碎片形狀不規(guī)則,而且有的細(xì)絲狀碎片的寬度只占1個(gè)像素或者半個(gè)像素,造成識(shí)別錯(cuò)誤,影響計(jì)算的準(zhǔn)確性,所以該試驗(yàn)要去除這2種碎片,雖然會(huì)造成取樣的不完整,但是不影響大部分碎片形狀特征的歸類。把篩選好的碎片均勻地平鋪到試驗(yàn)臺(tái)上,注意碎片之間不能相連,如圖3所示。

圖3 篩選之后待實(shí)驗(yàn)的碎片樣本

圖4 需要剔除碎片樣式
采集的圖片是RGB格式,為了提高計(jì)算速度,減少數(shù)據(jù)的處理量,需要把RGB格式的圖片轉(zhuǎn)化為灰度圖像。灰度圖像與RGB圖像之間的轉(zhuǎn)化有很多方法,本文使用的是其中一種較為常用的映射關(guān)系-加權(quán)平均法。計(jì)算如下:
Gray(x,y)=0.299×R(x,y)+0.59×G(x,y)
+0.114×B(x,y)
式中,Gray(x,y)表示灰度值;R(x,y)、G(x,y)、B(x,y)表示R、G、B分量值,3個(gè)加權(quán)系數(shù)0.299、0.59、0.114是根據(jù)人的亮度感知系統(tǒng)調(diào)節(jié)出來的參數(shù),是個(gè)廣泛使用的標(biāo)準(zhǔn)化參數(shù),通過程序轉(zhuǎn)化,得到灰度圖,如圖5所示。
對(duì)獲得的灰度圖進(jìn)行二值化處理,使秸稈碎片與背景分離,方便后續(xù)計(jì)算,灰度圖二值化后,圖像中只有2種灰度值,分別為0和255。
通過cv2.threshold函數(shù)的THRESH_BINARY方法,得到的二值圖,如圖6所示。

式中,dst(x,y)為輸出圖像中第x行第y列的灰度值;maxval為最大值,取值為255;src(x,y)為輸入灰度圖像中第x行第y列的灰度值;thresh為分割閾值。該公式的含義是輸入灰度圖像素的灰度值大于分割閾值,對(duì)應(yīng)輸出的二值圖該像素位置灰度值為255;反之灰度值為0。該實(shí)驗(yàn)分割閾值為150。

圖5 碎片樣本灰度圖
本文用cv2.findContours()函數(shù),檢測樣本中碎片所占的像素,該函數(shù)輸出的是像素坐標(biāo)列表,圖7顯示的是部分像素坐標(biāo),其中每個(gè)碎片包含的像素坐標(biāo)又被分成了獨(dú)立項(xiàng),通過len()函數(shù)可求出該列表中獨(dú)立項(xiàng)的總數(shù),即秸稈碎片總數(shù)。
把碎片輪廓的像素坐標(biāo)列表進(jìn)行拆分,把各個(gè)項(xiàng)分解出來,每一項(xiàng)就是樣本中的一個(gè)碎片,通過cv2.contourArea()函數(shù),可求得每個(gè)碎片占多少個(gè)像素,通過前面得到的圖像面積平均系數(shù),像素?cái)?shù)量除以6.32,可知碎片的實(shí)際投影面積,圖8為部分碎片的外形尺寸。

圖6 碎片樣本二值圖

圖7 部分碎片像素的坐標(biāo)列表

圖8 部分碎片外形特征尺寸
通過cv2.minAreaRect()函數(shù)對(duì)每一個(gè)項(xiàng)進(jìn)行處理,輸出包括最小外接矩形4點(diǎn)坐標(biāo)(box[0]、box[1]、box[2]、box[3])等信息的列表,通過式(2)和式(3)計(jì)算最小外接矩形的長度L像素值和寬度W像素值,見圖9。通過前面得到的圖像尺寸平均系數(shù),像素?cái)?shù)值除以2.54即可得到實(shí)際尺寸,該尺寸可以近似看作碎片的長度和寬度,同時(shí)用長度比寬度即可得到碎片的長寬比,見圖8。通過cv2.drawContours和cv2.putText函數(shù),對(duì)每個(gè)碎片的最小外接矩形進(jìn)行可視化以及標(biāo)記,見圖10。
(2)
(3)
式中,box[n].x代表box[n]中x坐標(biāo)值;box[n].y代表box[n]中y坐標(biāo)值;n=1、2、3、4。

圖9 最小外接矩形的坐標(biāo)

圖10 碎片的最小外接矩形及標(biāo)號(hào)
通過上述步驟,得到樣本秸稈碎片的總數(shù),以及每個(gè)碎片的長度、寬度、長寬比和面積,把每一項(xiàng)求和,再除以總數(shù),可得到每一項(xiàng)的平均值,見圖11。
根據(jù)該樣本中每個(gè)碎片面積統(tǒng)計(jì),并設(shè)定每100mm2為一個(gè)范圍,程序自動(dòng)把面積范圍分為4組,通過分類算法,計(jì)算每個(gè)碎片所在范圍,并求其范圍內(nèi)的碎片總數(shù),見圖12。

圖11 所有碎片的平均數(shù)據(jù)

圖12 碎片面積范圍分布表
根據(jù)該樣本中每個(gè)碎片長寬比統(tǒng)計(jì),并設(shè)定比值每增加1為一個(gè)范圍,程序自動(dòng)把比值范圍分為15組,通過分類算法,計(jì)算每個(gè)碎片所在范圍,并求其范圍內(nèi)的碎片總數(shù),見圖13。

圖13 碎片比例范圍分布表
通過python繪圖包matplotlib繪制面積及比例分布圖,見圖14、圖15。通過柱狀圖可以更直觀地看出該樣本碎片面積主要分布在0~100mm2范圍內(nèi),長寬比主要分布在2~5范圍內(nèi)。

圖14 碎片面積范圍分布條形圖

圖15 碎片比例范圍分布條形圖
利用該方法,可以快速地檢測出秸稈碎片樣本的碎片總量、每個(gè)碎片的投影面積、每個(gè)碎片的最小外接輪廓的長度、寬度以及長寬比,通過程序?qū)@些數(shù)據(jù)進(jìn)行統(tǒng)計(jì)整合,可以得到樣本碎片的投影面積分布圖,長寬比分布圖。把雜亂的碎片進(jìn)行數(shù)據(jù)可視化處理,可以系統(tǒng)地研究揉切機(jī),多一個(gè)刀片、轉(zhuǎn)速慢一點(diǎn)或者刀片間距大一點(diǎn),對(duì)產(chǎn)生的秸稈碎片究竟有何影響,對(duì)揉切機(jī)的改進(jìn),提供數(shù)據(jù)依據(jù)。