本發(fā)明涉及圖像處理領(lǐng)域,尤其涉及數(shù)字圖像的形態(tài)學(xué)處理方法和數(shù)字圖像處理裝置。
背景技術(shù):
在圖像處理過程中,如指紋識(shí)別過程中,需要將有效區(qū)域從無(wú)效區(qū)域中識(shí)別出來(lái)。無(wú)效區(qū)域主要包括圖像中的非按壓區(qū)域、濕手區(qū)域、壞點(diǎn)區(qū)域等。為了使得識(shí)別出來(lái)的有效區(qū)域能夠更好地覆蓋圖像中有用的圖像信息,如指紋中有用的指紋信息,需要對(duì)這些有效區(qū)域?qū)?yīng)的數(shù)字圖像進(jìn)行一定的形態(tài)學(xué)處理。
數(shù)字圖像形態(tài)學(xué)處理的基本思想是:用具有一定形態(tài)的結(jié)構(gòu)元素去度量和提取數(shù)字圖像中的對(duì)應(yīng)形狀,達(dá)到圖像分析和識(shí)別的目的。
數(shù)字圖像形態(tài)學(xué)處理中包括了腐蝕運(yùn)算、膨脹運(yùn)算、開運(yùn)算和閉運(yùn)算等運(yùn)算。而數(shù)字圖像形態(tài)學(xué)處理中的各個(gè)運(yùn)算都是以腐蝕運(yùn)算和膨脹運(yùn)算為基礎(chǔ)的。腐蝕運(yùn)算和膨脹運(yùn)算中都需要使用結(jié)構(gòu)元素。結(jié)構(gòu)元素在形態(tài)變換中的作用相當(dāng)于信號(hào)處理中的“濾波窗口”。
不過,傳統(tǒng)的數(shù)字圖像進(jìn)行形態(tài)學(xué)處理,實(shí)質(zhì)上是對(duì)數(shù)字圖像和結(jié)構(gòu)元素的一種二維卷積運(yùn)算。因此當(dāng)數(shù)字圖像的維數(shù)比較大時(shí),運(yùn)算速度會(huì)很慢。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了數(shù)字圖像的形態(tài)學(xué)處理方法和數(shù)字圖像處理裝置,可以簡(jiǎn)單、快速地對(duì)數(shù)字圖像進(jìn)行形態(tài)學(xué)處理。
第一方面,本發(fā)明提供了一種數(shù)字圖像的形態(tài)學(xué)處理方法,包括:判斷數(shù)字圖像中的待檢測(cè)像素點(diǎn)是否為邊界點(diǎn),待檢測(cè)像素點(diǎn)的像素值為第一像素值;若待檢測(cè)像素點(diǎn)為邊界點(diǎn),判斷待檢測(cè)像素點(diǎn)是否為方向膨脹點(diǎn),方向膨脹點(diǎn)為數(shù)字圖像的邊界點(diǎn),方向膨脹點(diǎn)的第一方向上相鄰的像素點(diǎn)為已經(jīng)進(jìn)行過檢測(cè)的邊界點(diǎn),且方向膨脹點(diǎn)的第一方向上相鄰的像素點(diǎn)的像素值為第一像素值;若待檢測(cè)像素點(diǎn)為方向膨脹點(diǎn),則根據(jù)待檢測(cè)像素點(diǎn)的位置和第一方向膨脹矩陣,將數(shù)字圖像中的第一像素點(diǎn)集合中的像素點(diǎn)的像素值賦值為第一像素值;其中,第一像素點(diǎn)集合中所有像素點(diǎn)與待檢測(cè)像素點(diǎn)的相對(duì)位置矩陣為第一方向膨脹矩陣。
本發(fā)明實(shí)施例中,當(dāng)待檢測(cè)像素點(diǎn)為方向膨脹點(diǎn)時(shí),只需根據(jù)方向膨脹矩陣將數(shù)字圖像中與待檢測(cè)像素點(diǎn)的位置滿足方向膨脹矩陣的像素點(diǎn)的像素值直接置為與待檢測(cè)像素點(diǎn)的像素值相同即可,而不需要進(jìn)行傳統(tǒng)的膨脹運(yùn)算,從而可以降低運(yùn)算量,節(jié)省運(yùn)算時(shí)間。
可選地,第一方向膨脹矩陣為第一結(jié)構(gòu)圖中包含、而第二結(jié)構(gòu)圖中不包含的像素點(diǎn)相對(duì)于第一結(jié)構(gòu)圖的原點(diǎn)的位置矩陣,第二結(jié)構(gòu)圖為用于對(duì)數(shù)字圖像進(jìn)行膨脹運(yùn)算的結(jié)構(gòu)元素矩陣對(duì)應(yīng)的圖像,第一結(jié)構(gòu)圖為第一結(jié)構(gòu)圖在第二方向上平移后所得的圖像,第二方向與第一方向相反。
在一種可能的實(shí)現(xiàn)方式中,所述形態(tài)學(xué)處理方法還包括:若待檢測(cè)像素點(diǎn)不是方向膨脹點(diǎn),則使用結(jié)構(gòu)元素矩陣對(duì)待檢測(cè)像素點(diǎn)進(jìn)行膨脹運(yùn)算。
在一種可能的實(shí)現(xiàn)方式中,所述形態(tài)學(xué)處理方法還包括:若待檢測(cè)像素點(diǎn)不是邊界點(diǎn),則不對(duì)待檢測(cè)像素點(diǎn)做膨脹運(yùn)算。
本發(fā)明實(shí)施例中,不是邊界點(diǎn)的像素點(diǎn)不作膨脹運(yùn)算,可以進(jìn)一步減少運(yùn)算量和節(jié)省運(yùn)算時(shí)間。
在一種可能的實(shí)現(xiàn)方式中,判斷所述待檢測(cè)像素點(diǎn)是否為邊界點(diǎn),包括:確定待檢測(cè)像素點(diǎn)滿足以下任意一種條件時(shí),判斷待檢測(cè)像素點(diǎn)為邊界點(diǎn):待檢測(cè)像素點(diǎn)的位置中的橫坐標(biāo)為橫坐標(biāo)最小值或橫坐標(biāo)最大值,待檢測(cè)點(diǎn)的位置中的縱坐標(biāo)為縱坐標(biāo)最小值或縱坐標(biāo)最大值,待檢測(cè)像素點(diǎn)與待檢測(cè)像素點(diǎn)的至少一個(gè)相鄰像素點(diǎn)的像素值不相等。
第二方面,本發(fā)明提供了一種數(shù)字圖像處理裝置,所述數(shù)字圖像處理裝置包括用于執(zhí)行第一方面或第一方面中任意一種可能的實(shí)現(xiàn)方式中的形態(tài)學(xué)處理方法的模塊。
第三方面,本發(fā)明提供了一種數(shù)字圖像處理裝置,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器用于存儲(chǔ)代碼,所述處理器用于執(zhí)行所述存儲(chǔ)器中的代碼。當(dāng)所述代碼被執(zhí)行時(shí),所述處理器實(shí)現(xiàn)第一方面或第一方面中任意一種可能的實(shí)現(xiàn)方式中的形態(tài)學(xué)處理方法。
第四方面,本發(fā)明提供了一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)用于數(shù)字圖像處理裝置執(zhí)行的程序代碼,所述程序代碼包括用于執(zhí)行第一方面中或第一方面中任意一種可能的實(shí)現(xiàn)方式中的形態(tài)學(xué)處理方法的指令。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例的待處理數(shù)字圖像和結(jié)構(gòu)圖的示意圖。
圖2是本發(fā)明實(shí)施例的數(shù)字圖像的形態(tài)學(xué)處理方法的示意性流程圖。
圖3是本發(fā)明實(shí)施例的方向膨脹矩陣的示意圖。
圖4是本發(fā)明實(shí)施例的數(shù)字圖像的形態(tài)學(xué)處理方法的示意圖。
圖5是本發(fā)明實(shí)施例的數(shù)字圖像處理裝置的示意性結(jié)構(gòu)圖。
圖6是本發(fā)明實(shí)施例的數(shù)字圖像處理裝置的示意性結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
通常來(lái)說(shuō),對(duì)二值圖像進(jìn)行腐蝕運(yùn)算和膨脹運(yùn)算的操作過程一般采用以下方式。假設(shè)用B代表結(jié)構(gòu)元素矩陣,用E代表二值圖像的像素矩陣,則用結(jié)構(gòu)元素矩陣B對(duì)像素矩陣E進(jìn)行腐蝕運(yùn)算就是:掃描二值圖像的每一個(gè)像素,用結(jié)構(gòu)元素矩陣與其覆蓋的二值圖像做“與”操作,如果都為1,則該二值圖像中該像素點(diǎn)的值1,否則為0。而用結(jié)構(gòu)元素矩陣B對(duì)像素矩陣E進(jìn)行膨脹就是:掃描二值圖像的每一個(gè)像素,用結(jié)構(gòu)元素矩陣與其覆蓋的二值圖像做“與”操作,如果都為0,結(jié)果圖像的該像素為0,否則為1。
圖1是本發(fā)明實(shí)施例的待處理數(shù)字圖像和結(jié)構(gòu)圖的示意圖。
如圖1中的(a)所示,待處理數(shù)字圖像為二值圖像,其中的像素點(diǎn)的像素值分別為1和0。像素值為1的點(diǎn)為有效區(qū)域,像素值為0的點(diǎn)為無(wú)線區(qū)域。結(jié)構(gòu)元素矩陣對(duì)應(yīng)的結(jié)構(gòu)圖如圖1中的(b)所示。
一般而言,使用圖1的(b)中的結(jié)構(gòu)元素矩陣對(duì)圖1的(a)中的二值圖像進(jìn)行膨脹運(yùn)算時(shí),通常是使用圖1的(b)中的結(jié)構(gòu)元素矩陣從左到右、從上到下,依次對(duì)圖1的(a)中的二值圖像中像素值為1的待檢測(cè)像素點(diǎn)進(jìn)行膨脹運(yùn)算。這種數(shù)字圖像處理方法運(yùn)算量較大,時(shí)間較大。
因此本發(fā)明實(shí)施例提出了一種數(shù)字圖像的形態(tài)學(xué)處理方法,具體內(nèi)容為:當(dāng)待檢測(cè)像素點(diǎn)為數(shù)字圖像中的邊界點(diǎn)時(shí),根據(jù)該邊界點(diǎn)相鄰的像素點(diǎn)是否滿足預(yù)設(shè)條件來(lái)對(duì)該邊界點(diǎn)進(jìn)行傳統(tǒng)的膨脹運(yùn)算還是本發(fā)明實(shí)施例中提出的特定的膨脹運(yùn)算,以減少運(yùn)算量,節(jié)省運(yùn)算時(shí)間。
圖2為本發(fā)明實(shí)施例的數(shù)字圖像的形態(tài)學(xué)處理方法的示意性流程圖。應(yīng)理解,圖2示出了形態(tài)學(xué)處理方法的步驟或操作,但這些步驟或操作僅是示例,本發(fā)明實(shí)施例還可以執(zhí)行其他操作或者圖2中的各個(gè)操作的變形。此外,圖2中的各個(gè)步驟可以按照與圖2呈現(xiàn)的不同的順序來(lái)執(zhí)行,并且有可能并非要執(zhí)行圖2中的全部操作。圖2中的數(shù)字圖像的形態(tài)學(xué)處理方法可以由數(shù)字圖像處理裝置執(zhí)行。
S210,判斷數(shù)字圖像中的待檢測(cè)像素點(diǎn)是否為邊界點(diǎn)。其中,該待檢測(cè)像素點(diǎn)的像素值為第一像素值。
該數(shù)字圖像可以是二值圖像,如像素點(diǎn)的像素值為1或0。待檢測(cè)像素點(diǎn)的第一像素值可以為二值圖像中的兩種像素值中的任一項(xiàng)一種,如可以為1,也可以為0,即第一像素值可以為1,也可以為0。
S220,若待檢測(cè)像素點(diǎn)為邊界點(diǎn),判斷待檢測(cè)像素點(diǎn)是否為方向膨脹點(diǎn)。其中,方向膨脹點(diǎn)為數(shù)字圖像的邊界點(diǎn),且方向膨脹點(diǎn)在第一方向上相鄰的像素點(diǎn)為已經(jīng)進(jìn)行過檢測(cè)的邊界點(diǎn),并且方向膨脹點(diǎn)在第一方向上相鄰的像素點(diǎn)的像素值也為第一像素值。
在S210中判斷待檢測(cè)像素點(diǎn)為邊界點(diǎn)后,進(jìn)一步判斷該待檢測(cè)點(diǎn)是否為方向膨脹點(diǎn)。方向膨脹點(diǎn)的定義為:若某個(gè)邊界點(diǎn)在某個(gè)方向上相鄰的邊界點(diǎn)在此之前已經(jīng)檢測(cè)過或進(jìn)行過膨脹運(yùn)算,且該邊界點(diǎn)與其相鄰的這個(gè)邊界點(diǎn)都同為第一像素值,則該邊界點(diǎn)為方向膨脹點(diǎn)。此處所說(shuō)的檢測(cè)包括判斷過是否需要進(jìn)行膨脹運(yùn)算的像素點(diǎn),此處的膨脹運(yùn)算包括傳統(tǒng)的膨脹運(yùn)算和本發(fā)明實(shí)施例特殊的方向膨脹運(yùn)算。
S230,若待檢測(cè)像素點(diǎn)為所述方向膨脹點(diǎn),則根據(jù)待檢測(cè)像素點(diǎn)的位置和第一方向膨脹矩陣,將所述數(shù)字圖像中的第一像素點(diǎn)集合中的像素點(diǎn)的像素值賦值為所述第一像素值。
其中,第一像素點(diǎn)集合中所有像素點(diǎn)與待檢測(cè)像素點(diǎn)的相對(duì)位置矩陣為第一方向膨脹矩陣。第一方向膨脹矩陣可以為包含在第一結(jié)構(gòu)圖中而不包含在第二結(jié)構(gòu)圖中的像素點(diǎn)相對(duì)于第一結(jié)構(gòu)圖的原點(diǎn)的位置矩陣,第二結(jié)構(gòu)圖為用于對(duì)數(shù)字圖像進(jìn)行膨脹運(yùn)算的結(jié)構(gòu)元素矩陣對(duì)應(yīng)的圖像,第一結(jié)構(gòu)圖為第一結(jié)構(gòu)圖在第二方向上平移后所得的圖像,其中,第二方向與第一方向相反。
可選地,該形態(tài)學(xué)處理方法中的第一方向可以是上方、下方、左方、右方、右上方、右下方、左上方或左下方中的任一方向,相對(duì)應(yīng)地,第二方向可以是下方、上方、右方、左方、左下方、左上方、右下方或走上方中的任一方向。
若在S220中判斷待檢測(cè)像素點(diǎn)為方向膨脹點(diǎn)時(shí),對(duì)待檢測(cè)像素點(diǎn)做特殊的方向膨脹運(yùn)算,而不是傳統(tǒng)的膨脹運(yùn)算。下面具體介紹本發(fā)明實(shí)施例中的特殊的膨脹運(yùn)算。
對(duì)數(shù)字圖像進(jìn)行形態(tài)學(xué)處理時(shí),都會(huì)有一個(gè)用于進(jìn)行膨脹運(yùn)算的結(jié)構(gòu)元素矩陣,該結(jié)構(gòu)元素矩陣對(duì)應(yīng)一個(gè)第二結(jié)構(gòu)圖,第二結(jié)構(gòu)圖有預(yù)定義的原點(diǎn)。將第二結(jié)構(gòu)圖向上、下、左、右、右上、右下、左上或左下等方向移動(dòng)一個(gè)單位后分別得到對(duì)應(yīng)的第一結(jié)構(gòu)圖,第一結(jié)構(gòu)圖也有預(yù)定義的原點(diǎn)。
第二結(jié)構(gòu)圖中包含了一部分并未包含在第一結(jié)構(gòu)圖中的像素點(diǎn),這些像素點(diǎn)與第二結(jié)構(gòu)圖的原點(diǎn)的相對(duì)位置即組成了方向膨脹矩陣。第一結(jié)構(gòu)圖在不同方向上平移后分別得到的不同方向的第二結(jié)構(gòu)圖均有對(duì)應(yīng)的方向膨脹矩陣。
如圖3所示,其中(a)、(b)、(c)和(d)中帶斜線的格子分別為圖1的(b)中的結(jié)構(gòu)圖向右、向下、向右下和向左下平移一個(gè)單位后包含而移動(dòng)前的結(jié)構(gòu)圖不包含的像素點(diǎn),則對(duì)應(yīng)的方向膨脹矩陣中存儲(chǔ)了各自對(duì)應(yīng)的帶斜線的格子相對(duì)應(yīng)原點(diǎn)的坐標(biāo)。
當(dāng)判斷待檢測(cè)像素點(diǎn)為方向膨脹點(diǎn),且確定該待檢測(cè)像素點(diǎn)在第一方向上的且同像素值的相鄰邊界點(diǎn)已經(jīng)檢測(cè)過時(shí),可以取出在結(jié)構(gòu)元素矩陣對(duì)應(yīng)的多個(gè)方向膨脹矩陣中將第一結(jié)構(gòu)圖向與第一方向相反的方向移動(dòng)后得到對(duì)應(yīng)的方向膨脹矩陣,為了后續(xù)描述方便,將該方向膨脹矩陣稱為第一方向膨脹矩陣。為了后續(xù)描述方便,將與第一方向相反的方向稱為第二方向。
接下來(lái),根據(jù)該第一方向膨脹矩陣對(duì)待檢測(cè)像素點(diǎn)進(jìn)行特殊的膨脹運(yùn)算,具體步驟可以為:將數(shù)字圖像中與待檢測(cè)像素點(diǎn)的相對(duì)位置包含于第一方向膨脹矩陣中的所有像素點(diǎn)的像素值置為第一像素值,即置為與待檢測(cè)像素點(diǎn)的像素值相同。
如圖4所示,使用圖1的(b)所示的結(jié)構(gòu)運(yùn)算矩陣對(duì)圖1的(a)所示的數(shù)字圖像中像素值為1的像素點(diǎn)做形態(tài)學(xué)膨脹運(yùn)算。
若待檢測(cè)像素點(diǎn)為圖1中(a)的第三行第三列的像素點(diǎn)時(shí),雖然該像素點(diǎn)為邊界點(diǎn),由于其周圍并沒有已經(jīng)檢測(cè)過的像素點(diǎn),所以該像素點(diǎn)不是方向膨脹點(diǎn),因此對(duì)該像素點(diǎn)做傳統(tǒng)的膨脹運(yùn)算,得到具有如圖4中的(a)所示的像素值。
若待檢測(cè)像素點(diǎn)為圖1的(a)中的第三行第四列的像素點(diǎn),則因?yàn)樵撓袼攸c(diǎn)的左方的相鄰像素點(diǎn)為邊界點(diǎn),且已經(jīng)檢測(cè)過,并且像素值也同為1,因此該像素點(diǎn)為方向膨脹點(diǎn),然后可以根據(jù)圖3的(a)中所示的向右方向膨脹矩陣將圖4的(a)中的第一像素點(diǎn)集合中的像素點(diǎn)的像素值置為1,得到如圖4的(b)所示的像素值。其中,第一像素集合點(diǎn)中的像素點(diǎn)與待檢測(cè)像素點(diǎn)的相對(duì)位置組成的矩陣為向右方向膨脹矩陣,第一像素集合點(diǎn)中的像素點(diǎn)即為帶斜線的格子表示的像素點(diǎn)。
由此可知,當(dāng)待檢測(cè)像素點(diǎn)為方向膨脹點(diǎn)時(shí),只需根據(jù)方向膨脹矩陣將數(shù)字圖像中與待檢測(cè)像素點(diǎn)的位置滿足方向膨脹矩陣的像素點(diǎn)的像素值直接置為與待檢測(cè)像素點(diǎn)的像素值相同即可,而不需要進(jìn)行傳統(tǒng)的膨脹運(yùn)算,從而可以降低運(yùn)算量,節(jié)省運(yùn)算時(shí)間。
在本發(fā)明實(shí)施例中,當(dāng)判斷待檢測(cè)像素點(diǎn)不是方向膨脹點(diǎn)時(shí),如待檢測(cè)像素點(diǎn)是邊界點(diǎn)但不是方向膨脹點(diǎn),或待檢測(cè)像素點(diǎn)為非邊界點(diǎn)時(shí),可以使用結(jié)構(gòu)元素矩陣對(duì)待檢測(cè)像素點(diǎn)進(jìn)行膨脹運(yùn)算,即可以使用結(jié)構(gòu)元素矩陣對(duì)非方向膨脹點(diǎn)進(jìn)行傳統(tǒng)的膨脹運(yùn)算。
本發(fā)明實(shí)施例中,進(jìn)一步地,若判斷待檢測(cè)像素點(diǎn)不是邊界點(diǎn),且其它像素點(diǎn)做膨脹運(yùn)算時(shí),需要改變?cè)摯龣z測(cè)像素點(diǎn)的像素值,則該待檢測(cè)像素點(diǎn)的像素值為上述改變后的像素值。當(dāng)然,也可以不對(duì)待檢測(cè)像素點(diǎn)做傳統(tǒng)的或本發(fā)明實(shí)施例特殊的膨脹運(yùn)算。而是可以保留將該待檢測(cè)像素點(diǎn)的原像素值,然后對(duì)下一個(gè)待檢測(cè)像素點(diǎn)進(jìn)行檢測(cè)。這樣可以進(jìn)一步減小運(yùn)算量和節(jié)省運(yùn)算時(shí)間。
本發(fā)明實(shí)施例中,判斷待檢測(cè)像素點(diǎn)是否為邊界點(diǎn)時(shí),具體可以在確定待檢測(cè)像素點(diǎn)滿足以下任意一種條件時(shí),判斷待檢測(cè)像素點(diǎn)為邊界點(diǎn):待檢測(cè)像素點(diǎn)的位置中的橫坐標(biāo)為橫坐標(biāo)最小值或橫坐標(biāo)最大值,待檢測(cè)點(diǎn)的位置中的縱坐標(biāo)為縱坐標(biāo)最大值或縱坐標(biāo)最大值,待檢測(cè)像素點(diǎn)與待檢測(cè)像素點(diǎn)的至少一個(gè)相鄰像素點(diǎn)的像素值不相等。
如當(dāng)所有待檢測(cè)像素點(diǎn)的橫坐標(biāo)中的最小值為0時(shí),若某個(gè)待檢測(cè)像素點(diǎn)的像素值為0,則該待檢測(cè)像素點(diǎn)為邊界點(diǎn);再如當(dāng)所有待檢測(cè)像素點(diǎn)的縱坐標(biāo)中的最小值為1時(shí),所某個(gè)待檢測(cè)像素點(diǎn)的像素值為1,則該待檢測(cè)像素點(diǎn)為邊界點(diǎn)。
另外,當(dāng)需要對(duì)數(shù)字圖像對(duì)第一像素值的像素點(diǎn)做腐蝕運(yùn)算時(shí),可以將用于腐蝕運(yùn)算的結(jié)構(gòu)元素矩陣作為膨脹運(yùn)算的結(jié)構(gòu)元素矩陣,然后使用上述形態(tài)學(xué)處理方法對(duì)數(shù)字圖像中像素值為第二像素值的所有像素點(diǎn)做處理。
圖5為本發(fā)明實(shí)施例的數(shù)字圖像處理裝置的示意性結(jié)構(gòu)圖。應(yīng)理解,圖5示出的數(shù)字圖像處理裝置500僅是示例,本發(fā)明實(shí)施例的數(shù)字圖像處理裝置還可包括其他模塊或單元,或者包括與圖5中的各個(gè)模塊的功能相似的模塊,或者并非要包括圖5中的所有模塊。
510,判斷模塊,用于判斷所述數(shù)字圖像中的待檢測(cè)像素點(diǎn)是否為邊界點(diǎn),所述待檢測(cè)像素點(diǎn)的像素值為第一像素值。
判斷模塊510還用于在所述待檢測(cè)像素點(diǎn)為邊界點(diǎn)時(shí),判斷所述待檢測(cè)像素點(diǎn)是否為方向膨脹點(diǎn),所述方向膨脹點(diǎn)在第一方向上相鄰的像素點(diǎn)為已經(jīng)進(jìn)行過檢測(cè)的邊界點(diǎn),且所述方向膨脹點(diǎn)在第一方向上相鄰的像素點(diǎn)的像素值同為第一像素值。
處理模塊520,用于在所述待檢測(cè)像素點(diǎn)為所述方向膨脹點(diǎn)時(shí),根據(jù)所述待檢測(cè)像素點(diǎn)的位置和第一方向膨脹矩陣,將所述數(shù)字圖像中的第一像素點(diǎn)集合中的像素點(diǎn)的像素值賦值為所述第一像素值。
其中,所述第一像素點(diǎn)集合中所有像素點(diǎn)與所述待檢測(cè)像素點(diǎn)的相對(duì)位置矩陣為所述第一方向膨脹矩陣,所述第一方向膨脹矩陣為包含在第一結(jié)構(gòu)圖中而不包含在第二結(jié)構(gòu)圖中的像素點(diǎn)相對(duì)于所述第一結(jié)構(gòu)圖的原點(diǎn)的位置矩陣,所述第二結(jié)構(gòu)圖為用于對(duì)所述數(shù)字圖像進(jìn)行膨脹運(yùn)算的結(jié)構(gòu)元素矩陣對(duì)應(yīng)的圖像,所述第一結(jié)構(gòu)圖為所述第一結(jié)構(gòu)圖在第二方向上平移后所得的圖像,其中,所述第二方向與所述第一方向相反。
本發(fā)明實(shí)施例中,當(dāng)待檢測(cè)像素點(diǎn)為方向膨脹點(diǎn)時(shí),只需根據(jù)方向膨脹矩陣將數(shù)字圖像中與待檢測(cè)像素點(diǎn)的位置滿足方向膨脹矩陣的像素點(diǎn)的像素值直接置為與待檢測(cè)像素點(diǎn)的像素值相同即可,而不需要進(jìn)行傳統(tǒng)的膨脹運(yùn)算,從而可以降低運(yùn)算量,節(jié)省運(yùn)算時(shí)間。
可選地,作為一個(gè)實(shí)施例,所述處理模塊還用于:在所述待檢測(cè)像素點(diǎn)不是所述方向膨脹點(diǎn)時(shí),使用所述結(jié)構(gòu)元素矩陣對(duì)所述待檢測(cè)像素點(diǎn)進(jìn)行膨脹運(yùn)算。
可選地,作為一個(gè)實(shí)施例,所述處理模塊還用于:在所述待檢測(cè)像素點(diǎn)不是邊界點(diǎn)時(shí),不對(duì)所述待檢測(cè)像素點(diǎn)做膨脹運(yùn)算。
可選地,作為一個(gè)實(shí)施例,所述處理模塊具體用于:確定所述待檢測(cè)像素點(diǎn)滿足以下任意一種條件時(shí),判斷所述待檢測(cè)像素點(diǎn)為邊界點(diǎn):所述待檢測(cè)像素點(diǎn)的位置中的橫坐標(biāo)為橫坐標(biāo)最小值或橫坐標(biāo)最大值,所述待檢測(cè)點(diǎn)的位置中的縱坐標(biāo)為縱坐標(biāo)最小值或縱坐標(biāo)最大值,所述待檢測(cè)像素點(diǎn)與所述待檢測(cè)像素點(diǎn)的至少一個(gè)相鄰像素點(diǎn)的像素值不相等。
應(yīng)理解,圖5所示本發(fā)明實(shí)施例的數(shù)字圖像處理裝置的各個(gè)模塊的上述和其它操作和/或功能分別為了實(shí)現(xiàn)圖2中的數(shù)字圖像的形態(tài)學(xué)處理方法的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
圖6為本發(fā)明另一個(gè)實(shí)施例的數(shù)字圖像處理裝置的示意性結(jié)構(gòu)圖。數(shù)字圖像處理裝置600包括存儲(chǔ)器610和處理器620。
存儲(chǔ)器610,用于存儲(chǔ)程序。
處理器620,用于執(zhí)行所述存儲(chǔ)器610存儲(chǔ)的程序。當(dāng)所述處理器620執(zhí)行所述存儲(chǔ)器610存儲(chǔ)的程序時(shí),具體用于判斷所述數(shù)字圖像中的待檢測(cè)像素點(diǎn)是否為邊界點(diǎn),所述待檢測(cè)像素點(diǎn)的像素值為第一像素值。
處理器620還用于在所述待檢測(cè)像素點(diǎn)為邊界點(diǎn)時(shí),判斷所述待檢測(cè)像素點(diǎn)是否為方向膨脹點(diǎn),所述方向膨脹點(diǎn)在第一方向上相鄰的像素點(diǎn)為已經(jīng)進(jìn)行過檢測(cè)的邊界點(diǎn),且所述方向膨脹點(diǎn)在第一方向上相鄰的像素點(diǎn)的像素值同為第一像素值。
處理器620還用于在所述待檢測(cè)像素點(diǎn)為所述方向膨脹點(diǎn)時(shí),根據(jù)所述待檢測(cè)像素點(diǎn)的位置和第一方向膨脹矩陣,將所述數(shù)字圖像中的第一像素點(diǎn)集合中的像素點(diǎn)的像素值賦值為所述第一像素值。
其中,所述第一像素點(diǎn)集合中所有像素點(diǎn)與所述待檢測(cè)像素點(diǎn)的相對(duì)位置矩陣為所述第一方向膨脹矩陣。
可選地,所述第一方向膨脹矩陣為包含在第一結(jié)構(gòu)圖中而不包含在第二結(jié)構(gòu)圖中的像素點(diǎn)相對(duì)于所述第一結(jié)構(gòu)圖的原點(diǎn)的位置矩陣,所述第二結(jié)構(gòu)圖為用于對(duì)所述數(shù)字圖像進(jìn)行膨脹運(yùn)算的結(jié)構(gòu)元素矩陣對(duì)應(yīng)的圖像,所述第一結(jié)構(gòu)圖為所述第一結(jié)構(gòu)圖在第二方向上平移后所得的圖像,所述第二方向與所述第一方向相反。
本發(fā)明實(shí)施例中,當(dāng)待檢測(cè)像素點(diǎn)為方向膨脹點(diǎn)時(shí),只需根據(jù)方向膨脹矩陣將數(shù)字圖像中與待檢測(cè)像素點(diǎn)的位置滿足方向膨脹矩陣的像素點(diǎn)的像素值直接置為與待檢測(cè)像素點(diǎn)的像素值相同即可,而不需要進(jìn)行傳統(tǒng)的膨脹運(yùn)算,從而可以降低運(yùn)算量,節(jié)省運(yùn)算時(shí)間。
可選地,作為一個(gè)實(shí)施例,所述處理器620還用于:在所述待檢測(cè)像素點(diǎn)不是所述方向膨脹點(diǎn)時(shí),使用所述結(jié)構(gòu)元素矩陣對(duì)所述待檢測(cè)像素點(diǎn)進(jìn)行膨脹運(yùn)算。
可選地,作為一個(gè)實(shí)施例,所述處理器620還用于:在所述待檢測(cè)像素點(diǎn)不是邊界點(diǎn)時(shí),不對(duì)所述待檢測(cè)像素點(diǎn)做膨脹運(yùn)算。
可選地,作為一個(gè)實(shí)施例,所述處理器620具體用于:確定所述待檢測(cè)像素點(diǎn)滿足以下任意一種條件時(shí),判斷所述待檢測(cè)像素點(diǎn)為邊界點(diǎn):所述待檢測(cè)像素點(diǎn)的位置中的橫坐標(biāo)為橫坐標(biāo)最小值或橫坐標(biāo)最大值,所述待檢測(cè)點(diǎn)的位置中的縱坐標(biāo)為縱坐標(biāo)最小值或縱坐標(biāo)最大值,所述待檢測(cè)像素點(diǎn)與所述待檢測(cè)像素點(diǎn)的至少一個(gè)相鄰像素點(diǎn)的像素值不相等。
應(yīng)理解,圖6所示本發(fā)明實(shí)施例的數(shù)字圖像處理裝置可對(duì)應(yīng)于圖5所示的數(shù)字圖像處理裝置,并且各個(gè)模塊的上述和其它操作和/或功能分別為了實(shí)現(xiàn)圖2中的數(shù)字圖像的形態(tài)學(xué)處理方法的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。