秦亮
摘要 針對(duì)考種過程中任務(wù)繁重、人工計(jì)數(shù)等存在不足,提出了一種基于Matlab圖像識(shí)別和處理技術(shù)的種子計(jì)數(shù)方法。該方法處理過程中使用腐蝕運(yùn)算和開運(yùn)算用于圖像黏連區(qū)域的分割,使用二值化,便于數(shù)學(xué)運(yùn)算,并在處理后對(duì)圖像中的種子進(jìn)行編號(hào)和計(jì)數(shù),還可以人工校正及存檔。該方法可以廣泛應(yīng)用于種子計(jì)數(shù)工作中。
關(guān)鍵詞 數(shù)字圖像;種子計(jì)數(shù);黏連區(qū)域分割;Matlab處理
中圖分類號(hào) TP391.41? ?文獻(xiàn)標(biāo)識(shí)碼 A
文章編號(hào) 1007-7731(2023)10-0129-04
數(shù)字圖像處理是指借助于計(jì)算機(jī)來(lái)處理數(shù)字圖像,該技術(shù)現(xiàn)已廣泛用于與成像有關(guān)的領(lǐng)域,而且所覆蓋的應(yīng)用領(lǐng)域?qū)?lái)會(huì)越來(lái)越廣[1]。數(shù)字圖像處理方法具有多種優(yōu)勢(shì):①速度快。相對(duì)人工計(jì)數(shù),速度很快,計(jì)數(shù)數(shù)量越多,越具有速度優(yōu)勢(shì)。②適用性廣。在單一的背景中只需要把種子平鋪,可以面對(duì)各種類型種子,也可以擴(kuò)展到其他需要計(jì)數(shù)的物品中。③設(shè)備簡(jiǎn)單。一臺(tái)照相設(shè)備、一臺(tái)計(jì)算機(jī),幾個(gè)常見的軟件即可工作。④記錄留存??蓪?duì)計(jì)數(shù)圖片進(jìn)行存檔,還可以對(duì)圖片進(jìn)行人工校正,減少誤差。
種子計(jì)數(shù)是農(nóng)業(yè)育種研究中較為重要的環(huán)節(jié),且任務(wù)繁重。利用人工計(jì)數(shù),計(jì)數(shù)量較大,長(zhǎng)時(shí)間、重復(fù)性數(shù)粒會(huì)導(dǎo)致人員疲勞,產(chǎn)生一定的誤差。使用儀器設(shè)備計(jì)數(shù)也有一定的局限性,不適于種類繁多、大小不一、形狀多變的種子,且儀器設(shè)備也比較昂貴。隨著科技水平的提高,圖像處理技術(shù)的廣泛運(yùn)用,圖片計(jì)數(shù)被應(yīng)用于種子計(jì)數(shù)工作中。在圖片計(jì)數(shù)過程中,使用灰度處理,減少圖像數(shù)據(jù)量,使用腐蝕運(yùn)算和開運(yùn)算用于圖像黏連區(qū)域的分割;使用二值化,便于數(shù)學(xué)運(yùn)算,根據(jù)連通圖的數(shù)量得到種子數(shù)量。
1 材料與方法
1.1 試驗(yàn)材料
計(jì)算機(jī)、拍攝工具、Photoshop軟件、Matlab軟件、水稻種子(計(jì)數(shù)對(duì)象可根據(jù)需要選?。?,白色A4紙(可根據(jù)計(jì)數(shù)對(duì)象顏色選擇差異大的單色背景)。
1.2 種子圖像采集
取下稻穗上的稻粒,均勻?yàn)⒙湓贏4紙上,減少稻粒間大范圍黏連。利用拍攝工具獲取照片,拍照范圍不超出A4紙,背景顏色單一。若拍攝照片數(shù)量較多,可以固定拍攝工具,方便圖像采集、節(jié)約拍攝時(shí)間及減少操作誤差。
1.3 Photoshop處理
利用Photoshop“選擇”項(xiàng)中的“色彩范圍”欄提取背景顏色,調(diào)節(jié)“顏色容差”,并合理利用“魔棒工具”和“選框工具”,刪除背景顏色,然后利用“編輯”項(xiàng)中“填充”欄填充黑色作為背景色。
1.4 灰度化處理
圖像是由像素點(diǎn)組成的集合。彩色圖片的像素點(diǎn)由紅、綠、藍(lán)組成,而灰度圖片的像素點(diǎn)用顏色深度表示,范圍為0~255,白色為255,黑色為0[2]?;叶然幚硎峭ㄟ^一定的數(shù)學(xué)算法把彩色圖像轉(zhuǎn)換為灰度圖像,目的是使信息量減少更容易處理圖像。Matlab中灰度化的函數(shù)為rgb2gray。
1.5 腐蝕運(yùn)算
在腐蝕運(yùn)算前先定義結(jié)構(gòu)元素。結(jié)構(gòu)元素是形態(tài)學(xué)變換中的基本元素,是為了探測(cè)圖像某種結(jié)構(gòu)信息而設(shè)計(jì)的特定形狀和尺寸的圖像。結(jié)構(gòu)元素可以定義多種類型,如圓形、方形、線形等[3]。腐蝕運(yùn)算的思路是結(jié)構(gòu)元素在整幅圖像中移動(dòng),移動(dòng)到每一個(gè)像素點(diǎn)上,只有結(jié)構(gòu)元素與圖像上對(duì)應(yīng)像素點(diǎn)的像素值全部重疊相等時(shí),保留這個(gè)像素點(diǎn)值[4]。腐蝕運(yùn)算的作用是使物體邊界向內(nèi)部收縮,也可以把小于結(jié)構(gòu)元素的物體去除。Matlab中腐蝕運(yùn)算的函數(shù)為imerode。
1.6 開運(yùn)算
開運(yùn)算是對(duì)目標(biāo)圖像先進(jìn)行腐蝕運(yùn)算再進(jìn)行膨脹運(yùn)算[5]。開運(yùn)算的作用是去除背景雜色和圖像上的小異物,平滑較大區(qū)域的邊界,不明顯的改變區(qū)域的面積,對(duì)目標(biāo)區(qū)域細(xì)小黏連點(diǎn)處分離等。Matlab中開運(yùn)算的函數(shù)為imopen。
1.7 圖像二值化
在灰度化的圖像中,先運(yùn)用算法尋找一個(gè)確定的閾值,利用閾值把灰度圖像中的像素劃分為2值:目標(biāo)和背景,“1”表示目標(biāo),“0”表示背景,圖像二值化即將圖像上像素點(diǎn)的灰度值轉(zhuǎn)化為“0”和“1”2值[6]。用Photoshop將背景替換為黑色后,閾值易確定,目標(biāo)和背景易劃分,減少了背景雜色對(duì)算法的干擾。Matlab中二值化的函數(shù)為im2bw。
1.8 代碼設(shè)計(jì)
clc;%清除Command Window區(qū)域;
name=imread(‘E:\水稻種子。JPG);%載入“水稻種子。JPG”的圖片;
J=rgb2gray(name);%灰度處理;
J1=imadjust(J);%調(diào)節(jié)灰度圖像;
SE1=strel(‘disk,2);%定義結(jié)構(gòu)元素;
SE2=strel(‘disk,4);%定義結(jié)構(gòu)元素;
J2=imerode(J1,SE2);%在灰度化圖中進(jìn)行腐蝕運(yùn)算;
J3=imopen(J2,SE1);%在灰度化圖中進(jìn)行開運(yùn)算;
level=graythresh(J3);%在灰度化圖中尋找閾值;
J4=im2bw(J3,level);%進(jìn)行二值化運(yùn)算;
J5=imerode(J4,SE2);%在二值化圖中進(jìn)行腐蝕運(yùn)算;
J6=imopen(J5,SE1);%在二值化圖中進(jìn)行開運(yùn)算;
[L,N]=bwlabel(J6,4);%計(jì)算連通數(shù);
figure,imshow(name);%顯示圖像;
text(0.05,0.1,strcat(‘?dāng)?shù)量:{,num2str(N),‘}),‘units,‘normalized,‘color,‘r,‘fontsize,20);%顯示數(shù)量值;
hold on;
for k=1:N;
[r,c]=find(L==k);
rbar=mean(r);
cbar=mean(c);
plot(cbar,rbar,‘marker,‘。,‘markeredgecolor,‘w,‘markersize,4);%顯示連通并對(duì)每一連通數(shù)標(biāo)記“?!?/p>
text(cbar,rbar,‘K,‘string,num2str(k),‘color,‘r,‘fontsize,15);%顯示對(duì)每一個(gè)連通數(shù)的編號(hào)
end
2 結(jié)果與分析
2.1 流程及效果
圖像計(jì)數(shù)方法的流程如圖1所示。用黏連區(qū)域演示流程效果,如圖2所示。
2.2 程序代碼執(zhí)行情況
以水稻種子圖像(圖3)為例,最右側(cè)圖片為執(zhí)行上述代碼后的顯示結(jié)果。代碼運(yùn)行速度快,根據(jù)連通圖的數(shù)量得出種子顆粒數(shù)為18個(gè)。人工校正過程中發(fā)現(xiàn),運(yùn)行中對(duì)較大黏連的圖像區(qū)域難以分割,會(huì)造成漏計(jì)現(xiàn)象,真實(shí)數(shù)量應(yīng)該是19個(gè)。Matlab可以識(shí)別多種圖片格式,并不限于JPG格式。
2.3 圖像采集
實(shí)際圖像采集的過程中會(huì)存在各種情況。①紙張上會(huì)存在陰影、明暗光線等,嚴(yán)重情況下可補(bǔ)充光源來(lái)消除。②計(jì)數(shù)對(duì)象數(shù)量較多,紙張面積不夠,可平鋪多張A4紙。③計(jì)算對(duì)象體積較小,可利用高分辨率相機(jī)拍照,增加圖像上單位面積像素點(diǎn)。④散落不均勻,黏連數(shù)量較多,可人工消散。不需要消除黏連的每一個(gè)目標(biāo),可在后期圖片上進(jìn)行人工校正,若取相過程中每一個(gè)目標(biāo)都需要人工消除黏連,則不再具備速度優(yōu)勢(shì),可擴(kuò)大取相區(qū)域,使計(jì)數(shù)目標(biāo)的散落面積增大,擴(kuò)大離散度。
2.4 圖像去噪處理
處理的目的是減少背景的雜值干擾,增加Photoshop處理環(huán)節(jié),背景色選擇范圍變廣,適用性增強(qiáng)。填充黑色背景是便于matlab二值化處理后,賦予黑色圖像元素為“0”值,“0”值是代表背景值。不填充黑色,則需在matlab軟件編程中添加一段反運(yùn)算代碼,增加了運(yùn)算量,代碼執(zhí)行速度變慢。
2.5 分割算法和代碼
對(duì)黏連區(qū)域的分割是一個(gè)難題。目前基于閾值、邊緣、分水嶺等大類的分割方法比較多,但都有一定的局限性[7]。本文代碼是利用計(jì)算圖像目標(biāo)的連通數(shù),來(lái)確定目標(biāo)數(shù)量,算法對(duì)黏連區(qū)域的分割優(yōu)劣,直接決定了計(jì)數(shù)的準(zhǔn)確率。代碼對(duì)黏連區(qū)域的分割和雜值消除的效果影響了計(jì)算結(jié)果,存在有一定的誤差,但對(duì)每一個(gè)計(jì)數(shù)目標(biāo)進(jìn)行了編號(hào),后期可以人工校正。腐蝕使物體向內(nèi)收縮,圖像中目標(biāo)物體的形狀也會(huì)變小,但只需要計(jì)算物體的個(gè)數(shù),并不需要考慮物體的形狀。
通過程序執(zhí)行結(jié)果來(lái)看,對(duì)目標(biāo)物體大范圍接觸的黏連區(qū)域分割效果不佳。由于圖像是由每一個(gè)像素組成,通過代碼執(zhí)行程序,理論上可知:結(jié)構(gòu)元素(處理累計(jì))>目標(biāo)物體的寬,可使目標(biāo)物體斷裂,計(jì)算的數(shù)量變大;結(jié)構(gòu)元素(處理累計(jì))>目標(biāo)物體的長(zhǎng),可使得目標(biāo)物體消失,計(jì)算的數(shù)量變??;黏連區(qū)域接觸點(diǎn)直線長(zhǎng)>目標(biāo)物體的寬時(shí),代碼就比較難分割黏連區(qū)域。因此,需要選擇好結(jié)構(gòu)元素,合理安排腐蝕運(yùn)算和開運(yùn)算,去除小物體的同時(shí)不會(huì)造成目標(biāo)物體消失。
3 結(jié)論與討論
在實(shí)際考種過程中需要計(jì)算結(jié)實(shí)率,代碼并不能識(shí)別,為此可以設(shè)計(jì)通過一定高度自由落體,在一定風(fēng)速下分離種子,分別取照,此步驟需要人工進(jìn)行操作。在實(shí)際操作過程中,光照和目標(biāo)數(shù)量對(duì)圖像計(jì)數(shù)有較大的影響。光照影響可以用各種光源來(lái)消除,目標(biāo)數(shù)量可以限制在1~2個(gè)稻穗的數(shù)量級(jí),還可以通過多張A4紙平鋪來(lái)擴(kuò)大拍照區(qū)域。從代碼運(yùn)行結(jié)果來(lái)看,存有比真實(shí)值小的情況,有一定的誤差。誤差是由于種子聚集,導(dǎo)致圖像中出現(xiàn)黏連區(qū)域,黏連區(qū)域分割不佳。在實(shí)際應(yīng)用中,可以通過人工和儀器設(shè)備干擾顆粒分離度來(lái)提高圖像處理的準(zhǔn)確性,還可以對(duì)圖像中目標(biāo)進(jìn)行編號(hào),方便人工校正。從計(jì)數(shù)結(jié)果來(lái)看,圖像計(jì)數(shù)能夠勝任絕大多數(shù)需要計(jì)數(shù)的工作,具有方便快捷、成本低廉、適于推廣、準(zhǔn)確性高的特點(diǎn)。對(duì)比人工的偶然誤差,圖像計(jì)數(shù)的誤差是由編程程序引起的,屬于系統(tǒng)誤差。隨著圖像處理技術(shù)的發(fā)展,對(duì)黏連區(qū)域分割研究的突破,代碼的不斷優(yōu)化,圖像計(jì)數(shù)將越來(lái)越具有優(yōu)勢(shì)。
參考文獻(xiàn)
[1] 徐杰.數(shù)字圖像處理[M].武漢:華中科技大學(xué)出版社,2009.
[2] 莫德舉,梁光華.數(shù)字圖像處理[M].北京:北京郵電大學(xué)出版社,2010.
[3] 張黃群,于盛林,白銀剛.形態(tài)學(xué)圖像去噪中結(jié)構(gòu)元素選取原則[J]. 數(shù)據(jù)采集與處理,2008(S1):81-83.
[4] 阮秋琦.數(shù)字圖像處理學(xué)(第二版)[M].北京:電子工業(yè)出版社,2007.
[5] 楊琨,曾立波,王殿成.數(shù)學(xué)形態(tài)學(xué)腐蝕膨脹運(yùn)算的快速算法[J].計(jì)算機(jī)工程與應(yīng)用,2005(34):54-56.
[6] 鐘雪君.一種改進(jìn)的Otsu雙閾值二值化圖像分割方法[J].電子世界,2013(4):104.
[7] 張軒,張新峰.粘連顆粒圖像分割方法綜述[J].圖像與信號(hào)處理,2018,7(3):6.
(責(zé)編:何 艷)