(一)技術(shù)領(lǐng)域
本發(fā)明涉及方格蔟污染蠶繭檢測(cè)裝置及方法,具體涉及一種基于圖像處理的方格蔟污染蠶繭檢測(cè)方法。
(二)
背景技術(shù):
蠶繭作為繅絲工業(yè)的原料,其表面的污染會(huì)對(duì)生絲的色澤產(chǎn)生影響,為了使產(chǎn)品色澤統(tǒng)一、提高產(chǎn)品質(zhì)量,需要在繅絲前剔除有表面污染的蠶繭。傳統(tǒng)選繭主要靠人工,但是檢測(cè)速度緩慢的同時(shí)選繭的準(zhǔn)確性易受人員技術(shù)水平、精神狀態(tài)等主觀因素影響,存在勞動(dòng)強(qiáng)度大、誤選率高等缺點(diǎn)。隨著計(jì)算機(jī)圖像處理技術(shù)的快速發(fā)展,計(jì)算機(jī)圖像處理技術(shù)也開始應(yīng)用到蠶繭質(zhì)量檢測(cè)領(lǐng)域?,F(xiàn)有基于圖像處理的蠶繭質(zhì)量檢測(cè)裝置往往一次只采集一個(gè)蠶繭的圖像,且需工人手工放置蠶繭,效率低下。且處理范圍僅限于性別鑒定、大小判斷、自動(dòng)計(jì)數(shù)等領(lǐng)域,而在污染蠶繭的檢測(cè)方面存在空白,極大地阻礙了蠶繭的深加工。因而需要設(shè)計(jì)一套可以快速篩選方格蔟污染蠶繭的設(shè)備及方法,以滿足市場(chǎng)的需要。
(三)
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)之不足,提供一種基于圖像處理的方格蔟污染蠶繭檢測(cè)方法。
一種基于圖像處理的方格蔟污染蠶繭檢測(cè)方法,步驟如下:
1.采集原始圖像。
將方格蔟水平放置,將兩個(gè)攝像頭分別設(shè)置在方格蔟的上下兩面,且均正對(duì)方格蔟中心,保證采集到的正面圖像和反面圖像區(qū)域相同且方格蔟在圖像中的占比為75%-80%;
方格蔟上方攝像頭采集的圖片即為蠶繭正面原始圖像;
方格蔟下方攝像頭采集的圖片水平翻轉(zhuǎn)后即為蠶繭反面原始圖像。水平翻轉(zhuǎn)可使同一個(gè)蠶繭在正反兩面圖像中所處的位置相同,便于后續(xù)處理。
對(duì)步驟1)得到的兩個(gè)原始圖像同時(shí)處理,分別得到兩個(gè)原始圖像的二值化圖像;
1.1對(duì)兩個(gè)原始圖像分別依次執(zhí)行開運(yùn)算、轉(zhuǎn)化為灰度圖像grayimg、提取梯度圖,將得到的梯度圖表示為pimg;
1.2標(biāo)記前景和背景;
利用ostu法確定最佳閾值對(duì)步驟2.1得到的灰度圖像grayimg進(jìn)行二值化,超過(guò)閾值的像素點(diǎn)置為255,低于閾值的像素點(diǎn)像素值置為0,得到二值圖像bwimg。再用圓形結(jié)構(gòu)元素對(duì)二值圖像bwimg進(jìn)行腐蝕后得到二值圖像ebwimg,二值圖像ebwimg中像素值為255的點(diǎn)組成的連通分量為前景標(biāo)記im。
采用ostu法確定最佳閾值的過(guò)程如下:
通過(guò)對(duì)灰度圖像grayimg進(jìn)行按行按列、從左到右、從上到下的掃描,找出圖像中的最大像素值和最小像素值,用最大像素值與最小像素值加和的一半作為初始閾值把圖像分為兩類,然后對(duì)整幅圖像進(jìn)行掃描,同時(shí)用迭代法求得動(dòng)態(tài)閾值,將小于初始閾值的所有像素點(diǎn)的像素值加和求平均后得到第一參考值;將大于等于初始閾值的所有像素點(diǎn)的像素值加和求平均后得到第二參考值;第一參考值和第二參考值的平均值作為調(diào)整后的動(dòng)態(tài)閾值,即最佳閾值。
對(duì)二值圖像bwimg使用分水嶺算法得到分水線,將這些分水線組成的連通分量定義為背景標(biāo)記em。
1.3采用數(shù)學(xué)形態(tài)學(xué)中的極小值標(biāo)定技術(shù)修改梯度圖像pimg,把前景標(biāo)記im、背景標(biāo)記em強(qiáng)制作為梯度圖像的局部極小值后,再屏蔽掉pimg中的所有局部極小值,得到修改后的梯度圖像pimg。
1.4對(duì)修改后的梯度圖像pimg使用經(jīng)典分水嶺變換,按從左至右、從上至下的順序?qū)⑿薷暮蟮奶荻葓D像pimg轉(zhuǎn)換為標(biāo)記圖像。標(biāo)記數(shù)字從1開始順序標(biāo)記(即順序標(biāo)記為2、3、4、5、…)。由于拍照時(shí)已確保蠶繭都在圖片中央,所以修改后的梯度圖像pimg最左上角像素點(diǎn)屬于背景,故標(biāo)記圖像中標(biāo)號(hào)為1的部分即為背景。
1.5將標(biāo)記圖像中標(biāo)記為1部分的像素點(diǎn)的像素值置為0,其它像素點(diǎn)的像素值均置為255;分別得到蠶繭的正反面二值圖像。
2.檢測(cè)蠶繭污染情況,計(jì)算出污染蠶繭坐標(biāo)并在蠶繭正面原始圖像中標(biāo)注;
2.1用4連通標(biāo)記法對(duì)步驟2)得到的蠶繭正反面二值圖像分別進(jìn)行連通域標(biāo)記。標(biāo)記數(shù)字從1開始順序標(biāo)記(即順序標(biāo)記為2、3、4、5、…)。一張圖片中標(biāo)記相同的像素點(diǎn)為一個(gè)連通域,每一個(gè)連通域?qū)?yīng)一個(gè)蠶繭;
2.1.1按照從上到下,從左到右的順序遍歷步驟2)得到的蠶繭正反面二值圖像中的所有像素點(diǎn),將像素值為255的像素點(diǎn)作為目標(biāo)像素點(diǎn)。若當(dāng)前像素點(diǎn)不是目標(biāo)像素點(diǎn),則不做標(biāo)記;若當(dāng)前像素點(diǎn)為目標(biāo)像素點(diǎn),則掃描當(dāng)前像素點(diǎn)左邊和上面的2個(gè)4鄰域像素點(diǎn):
若二者均不是目標(biāo)像素點(diǎn),則采用新標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記;
若二者中有一個(gè)為目標(biāo)像素點(diǎn),則采用二者中目標(biāo)像素點(diǎn)的標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記;
若二者都為目標(biāo)像素點(diǎn),且當(dāng)二者的標(biāo)記相同時(shí),采用該標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記;但當(dāng)二者的標(biāo)記不同時(shí),采用二者中的任意一個(gè)的標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記,并將二者的標(biāo)記作為一個(gè)等價(jià)對(duì),等價(jià)對(duì)中的兩個(gè)標(biāo)記視為等價(jià);
2.1.2比對(duì)所有的等價(jià)對(duì)中的標(biāo)記,將所有等價(jià)的標(biāo)記歸為一個(gè)等價(jià)組,遍歷蠶繭正反面二值圖像中所有的像素點(diǎn),針對(duì)每一個(gè)等價(jià)組,采用相同的標(biāo)記對(duì)被該等價(jià)組標(biāo)記的目標(biāo)像素點(diǎn)重新進(jìn)行標(biāo)記。
2.2按步驟3.1)所述連通域標(biāo)記數(shù)字順序,逐個(gè)對(duì)連通域進(jìn)行蠶繭污染檢測(cè),獲取方格蔟中所有污染蠶繭的坐標(biāo);
2.2.1計(jì)算蠶繭正面二值圖像中連通域的外接矩形,并將外接矩形在蠶繭正面原始圖像和蠶繭正面二值圖像中的對(duì)應(yīng)區(qū)域提取出來(lái),二者做掩模運(yùn)算后得到單個(gè)蠶繭的正面彩色圖像;
2.2.2對(duì)步驟3.2.1得到的單個(gè)蠶繭的正面彩色圖像建立顏色直方圖,設(shè)定閾值為0.45-0.6:
若黃色分量的占比超過(guò)閾值,則直接判為污染繭,保存當(dāng)前正在檢測(cè)的蠶繭正面二值圖像連通域中心坐標(biāo)作為污染蠶繭坐標(biāo);若黃色分量的占比未超過(guò)閾值,則需檢測(cè)蠶繭反面的污染情況。
蠶繭反面污染情況檢測(cè)方法為:
遍歷步驟3.1得到的反面二值圖像中的所有連通域,找出包含當(dāng)前正在檢測(cè)的蠶繭正面二值圖像連通域中心坐標(biāo)的連通域a。
計(jì)算連通域a的外接矩形,并將它在蠶繭反面原始圖像和蠶繭反面二值圖像中的對(duì)應(yīng)區(qū)域提取出來(lái),二者做掩模運(yùn)算后得到同一個(gè)蠶繭的反面彩色圖像。
求取蠶繭反面彩色圖像基于hsv空間的顏色直方圖,若黃色分量的占比超過(guò)閾值,則判為污染繭,保存當(dāng)前連通域中心坐標(biāo)作為污染蠶繭坐標(biāo);若黃色分量的占比未超過(guò)閾值,則判為無(wú)污染繭;
顏色直方圖中h分量平均量化成16級(jí),s分量平均量化成4級(jí),v分量平均量化成4級(jí),故顏色直方圖的橫坐標(biāo)取值范圍為0-64(16*4)??v坐標(biāo)為顏色分量所占比例,取值范圍為0-1。統(tǒng)計(jì)顏色直方圖橫坐標(biāo)中9-16對(duì)應(yīng)的縱坐標(biāo)值之和作為黃色分量占比。設(shè)定黃色分量占比閾值,閾值范圍為0.45-0.6。
3.3以步驟1)中得到的蠶繭正面原始圖像中污染繭坐標(biāo)為中心,顯示紅色字符“*”,使處理結(jié)果可視化。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
1.本發(fā)明結(jié)合數(shù)字圖像處理技術(shù),使蠶繭的表面污染的篩選也可以通過(guò)機(jī)器來(lái)完成,為智能化采繭技術(shù)提供數(shù)據(jù)支持。
2.本發(fā)明處理對(duì)象為整張方格蔟,一次圖像采集即可完成蔟內(nèi)所有蠶繭的污染判斷,克服了現(xiàn)有基于圖像處理的蠶繭質(zhì)量檢測(cè)裝置中一次只采集一個(gè)蠶繭的圖像且需工人手工放置蠶繭造成的效率低下的問(wèn)題。
(四)具體實(shí)施方式
本發(fā)明中所使用的處理器、攝像頭均可采用現(xiàn)有設(shè)備。
一種基于圖像處理的方格蔟污染蠶繭檢測(cè)方法,步驟如下:
1.采集原始圖像。
將方格蔟水平放置,將兩個(gè)攝像頭分別設(shè)置在方格蔟的上下兩面,且均正對(duì)方格蔟中心,保證采集到的正面圖像和反面圖像區(qū)域相同且方格蔟在圖像中的占比為75%-80%;
方格蔟上方攝像頭采集的圖片即為蠶繭正面原始圖像;
方格蔟下方攝像頭采集的圖片水平翻轉(zhuǎn)后即為蠶繭反面原始圖像。水平翻轉(zhuǎn)可使同一個(gè)蠶繭在兩幅圖像中所處的位置相同,便于后續(xù)處理。將采集得到的原始圖像利用現(xiàn)有處理器如計(jì)算機(jī)進(jìn)行圖像處理。
2.對(duì)步驟1)得到的兩個(gè)原始圖像同時(shí)處理,分別得到兩個(gè)原始圖像的二值化圖像;
2.1對(duì)兩個(gè)原始圖像分別依次執(zhí)行開運(yùn)算、轉(zhuǎn)化為灰度圖像grayimg、提取梯度圖,將得到的梯度圖表示為pimg;
2.2標(biāo)記前景和背景;
利用ostu法確定最佳閾值對(duì)步驟2.1得到的灰度圖像grayimg進(jìn)行二值化,超過(guò)閾值的像素點(diǎn)置為255,低于閾值的像素點(diǎn)像素值置為0,得到二值圖像bwimg。再用圓形結(jié)構(gòu)元素對(duì)二值圖像bwimg進(jìn)行腐蝕后得到二值圖像ebwimg,二值圖像ebwimg中像素值為255的點(diǎn)組成的連通分量為前景標(biāo)記im。
采用ostu法確定最佳閾值的過(guò)程如下:
通過(guò)對(duì)灰度圖像grayimg進(jìn)行按行按列、從左到右、從上到下的掃描,找出圖像中的最大像素值和最小像素值,用最大像素值與最小像素值加和的一半作為初始閾值把圖像分為兩類,然后對(duì)整幅圖像進(jìn)行掃描,同時(shí)用迭代法求得動(dòng)態(tài)閾值,將小于初始閾值的所有像素點(diǎn)的像素值加和求平均后得到第一參考值;將大于等于初始閾值的所有像素點(diǎn)的像素值加和求平均后得到第二參考值;第一參考值和第二參考值的平均值作為調(diào)整后的動(dòng)態(tài)閾值,即最佳閾值。
對(duì)二值圖像bwimg使用分水嶺算法得到分水線,將這些分水線組成的連通分量定義為背景標(biāo)記em。
2.3采用數(shù)學(xué)形態(tài)學(xué)中的極小值標(biāo)定技術(shù)修改梯度圖像pimg,把前景標(biāo)記im、背景標(biāo)記em強(qiáng)制作為梯度圖像的局部極小值后,再屏蔽掉pimg中的所有局部極小值,得到修改后的梯度圖像pimg。
2.4對(duì)修改后的梯度圖像pimg使用經(jīng)典分水嶺變換,按從左至右、從上至下的順序?qū)⑿薷暮蟮奶荻葓D像pimg轉(zhuǎn)換為標(biāo)記圖像。標(biāo)記數(shù)字從1開始順序標(biāo)記(即順序標(biāo)記為2、3、4、5、…)。由于拍照時(shí)已確保蠶繭都在圖片中央,所以修改后的梯度圖像pimg最左上角像素點(diǎn)屬于背景,故標(biāo)記圖像中標(biāo)號(hào)為1的部分即為背景。
2.5將標(biāo)記圖像中標(biāo)記為1部分的像素點(diǎn)的像素值置為0,其它像素點(diǎn)的像素值均置為255;分別得到蠶繭的正反面二值圖像。
3.檢測(cè)蠶繭污染情況,計(jì)算出污染蠶繭坐標(biāo)并在蠶繭正面原始圖像中標(biāo)注;
3.1用4連通標(biāo)記法對(duì)步驟2)得到的蠶繭正反面二值圖像分別進(jìn)行連通域標(biāo)記。標(biāo)記數(shù)字從1開始順序標(biāo)記(即順序標(biāo)記為2、3、4、5、…)。一張圖片中標(biāo)記相同的像素點(diǎn)為一個(gè)連通域,每一個(gè)連通域?qū)?yīng)一個(gè)蠶繭;
3.1.1按照從上到下,從左到右的順序遍歷步驟2)得到的蠶繭正反面二值圖像中的所有像素點(diǎn),將像素值為255的像素點(diǎn)作為目標(biāo)像素點(diǎn)。若當(dāng)前像素點(diǎn)不是目標(biāo)像素點(diǎn),則不做標(biāo)記;若當(dāng)前像素點(diǎn)為目標(biāo)像素點(diǎn),則掃描當(dāng)前像素點(diǎn)左邊和上面的2個(gè)4鄰域像素點(diǎn):
若二者均不是目標(biāo)像素點(diǎn),則采用新標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記;
若二者中有一個(gè)為目標(biāo)像素點(diǎn),則采用二者中目標(biāo)像素點(diǎn)的標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記;
若二者都為目標(biāo)像素點(diǎn),且當(dāng)二者的標(biāo)記相同時(shí),采用該標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記;但當(dāng)二者的標(biāo)記不同時(shí),采用二者中的任意一個(gè)的標(biāo)記對(duì)當(dāng)前像素點(diǎn)進(jìn)行標(biāo)記,并將二者的標(biāo)記作為一個(gè)等價(jià)對(duì),等價(jià)對(duì)中的兩個(gè)標(biāo)記視為等價(jià);
3.1.2比對(duì)所有的等價(jià)對(duì)中的標(biāo)記,將所有等價(jià)的標(biāo)記歸為一個(gè)等價(jià)組,遍歷蠶繭正反面二值圖像中所有的像素點(diǎn),針對(duì)每一個(gè)等價(jià)組,采用相同的標(biāo)記對(duì)被該等價(jià)組標(biāo)記的目標(biāo)像素點(diǎn)重新進(jìn)行標(biāo)記。
3.2按步驟3.1)所述連通域標(biāo)記數(shù)字順序,逐個(gè)對(duì)連通域進(jìn)行蠶繭污染檢測(cè),獲取方格蔟中所有污染蠶繭的坐標(biāo);
3.2.1計(jì)算蠶繭正面二值圖像中連通域的外接矩形,并將外接矩形在蠶繭正面原始圖像和蠶繭正面二值圖像中的對(duì)應(yīng)區(qū)域提取出來(lái),二者做掩模運(yùn)算后得到單個(gè)蠶繭的正面彩色圖像;
3.2.2對(duì)步驟3.2.1得到的單個(gè)蠶繭的正面彩色圖像建立顏色直方圖,設(shè)定閾值為0.45-0.6。
若黃色分量的占比超過(guò)閾值(0.45-0.6),則直接判為污染繭,保存當(dāng)前正在檢測(cè)的蠶繭正面二值圖像連通域中心坐標(biāo)作為污染蠶繭坐標(biāo);若黃色分量的占比未超過(guò)閾值(0.45-0.6),則需檢測(cè)蠶繭反面的污染情況。
蠶繭反面污染情況檢測(cè)方法為:
遍歷步驟3.1得到的反面二值圖像中的所有連通域,找出包含當(dāng)前正在檢測(cè)的蠶繭正面二值圖像連通域中心坐標(biāo)的連通域a。
計(jì)算連通域a的外接矩形,并將它在蠶繭反面原始圖像和蠶繭反面二值圖像中的對(duì)應(yīng)區(qū)域提取出來(lái),二者做掩模運(yùn)算后得到同一個(gè)蠶繭的反面彩色圖像。
求取蠶繭反面彩色圖像基于hsv空間的顏色直方圖,若黃色分量的占比超過(guò)閾值(0.45-0.6),則判為污染繭,保存當(dāng)前連通域中心坐標(biāo)作為污染蠶繭坐標(biāo);若黃色分量的占比未超過(guò)閾值(0.45-0.6),則判為無(wú)污染繭;
顏色直方圖中h分量平均量化成16級(jí),s分量平均量化成4級(jí),v分量平均量化成4級(jí),故顏色直方圖的橫坐標(biāo)取值范圍為0-64(16*4)。統(tǒng)計(jì)顏色直方圖橫坐標(biāo)中9-16對(duì)應(yīng)的縱坐標(biāo)值之和作為黃色分量占比。
3.3以步驟1)中得到的蠶繭正面原始圖像中污染繭坐標(biāo)為中心,顯示紅色字符“*”,使處理結(jié)果可視化。