欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于行程編碼的多個(gè)連通域快速合并算法及裝置的制作方法

文檔序號(hào):11144870閱讀:773來源:國知局
基于行程編碼的多個(gè)連通域快速合并算法及裝置的制造方法

本發(fā)明涉及圖像處理,尤其涉及到對(duì)多個(gè)連通域合并的實(shí)現(xiàn)。



背景技術(shù):

在機(jī)器視覺中,多個(gè)連通域合并算法是Blob分析中常用的算法,應(yīng)用主要為:圖像閾值分割得到感興趣區(qū)域后,進(jìn)行連通域標(biāo)記,進(jìn)而結(jié)合Blob特征,例如:面積,選取符合特征的連通域,此時(shí)利用多個(gè)連通域合并作為一個(gè)新連通域單獨(dú)進(jìn)行Blob分析,或與其它Blob算法,例如:連通域差集、交集,結(jié)合求取符合需求的連通域進(jìn)行Blob分析。

目前Blob分析算法中,主要針對(duì)標(biāo)記后的連通域,選取符合特征的連通域去操作;對(duì)于某些具體應(yīng)用,需要產(chǎn)生新的連通域進(jìn)行Blob分析,則通過組合多個(gè)已有連通域去實(shí)現(xiàn)。多個(gè)標(biāo)記連通域的Blob分析可以分為兩種:1)連通域的標(biāo)記采用二值圖的方式,即一副灰度圖里,用像素值標(biāo)記連通域,所有具有相同像素值的像素點(diǎn)組成一個(gè)連通域;2)連通域采用行程編碼的方式。這兩種連通域表示方法在需求特定新連通域時(shí),都分別對(duì)多個(gè)標(biāo)記連通域分析,然后組合操作以達(dá)到功能需求。多個(gè)標(biāo)記連通域的Blob分析的優(yōu)點(diǎn)是直觀容易理解;缺點(diǎn)則有:若連通域采用二值圖方式,速度慢,占用內(nèi)存大,對(duì)感興趣區(qū)域的操作受圖像的寬高限制,需訪問圖像內(nèi)所有點(diǎn),同時(shí)無法表示連通域重疊的部分,后續(xù)Blob分析操作復(fù)雜;若連通域采用行程編碼方式,后續(xù)Blob分析操作復(fù)雜,連通域重疊時(shí)重復(fù)計(jì)算,導(dǎo)致耗時(shí)增加。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題在于,針對(duì)現(xiàn)有技術(shù)的上述缺陷,提出一種基于行程編碼的多個(gè)連通域快速合并算法,能夠?qū)崿F(xiàn)多個(gè)連通域的快速合并,并且降低程序內(nèi)存占用量。

本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種基于行程編碼的多個(gè)連通域快速合并算法,包括:對(duì)輸入圖像進(jìn)行圖像分割,得到采用行程編碼的感興趣區(qū)域;對(duì)采用行程編碼的感興趣區(qū)域進(jìn)行處理,得到多個(gè)連通域;以及合并多個(gè)連通域,得到合并后的連通域。

在一些實(shí)施例中,所述的對(duì)輸入圖像進(jìn)行圖像分割,得到采用行程編碼的感興趣區(qū)域,具體包括:選取適當(dāng)?shù)母?、低閾值;然后,遍歷圖像中所有像素點(diǎn),滿足閾值要求的則為感興趣區(qū)域像素點(diǎn),將所有感興趣區(qū)域的像素點(diǎn)用行程編碼保存。

在一些實(shí)施例中,所述的對(duì)采用行程編碼的感興趣區(qū)域進(jìn)行處理,得到多個(gè)連通域,具體包括:對(duì)采用行程編碼的感興趣區(qū)域進(jìn)行連通域標(biāo)記。

在一些實(shí)施例中,所述的行程編碼是基于行行程實(shí)現(xiàn)的;所述的合并多個(gè)連通域是逐行合并的。

在一些實(shí)施例中,所述的合并多個(gè)連通域,得到合并后的連通域,具體包括:求取多個(gè)連通域的最小行號(hào)和最大行號(hào),然后行號(hào)由小到大去統(tǒng)計(jì)多個(gè)連通域具有相同行號(hào)的行程,進(jìn)而一一合并兩個(gè)行程。

在一些實(shí)施例中,所述的合并兩個(gè)行程,具體包括三種情況:兩個(gè)行程沒有交集,結(jié)果存儲(chǔ)兩個(gè)行程;兩個(gè)行程有部分交集,結(jié)果為最小列號(hào)和最大列號(hào)組成的新行程;一個(gè)行程包含另外一個(gè)行程,結(jié)果存儲(chǔ)包含的行程。。

本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案還是:提供一種基于行程編碼的多個(gè)連通域快速合并裝置,包括:第一模塊,用于對(duì)輸入圖像進(jìn)行圖像分割,得到采用行程編碼的感興趣區(qū)域;第二模塊,用于對(duì)采用行程編碼的感興趣區(qū)域進(jìn)行處理,得到多個(gè)連通域;以及第三模塊,用于合并多個(gè)連通域,得到合并后的連通域。

在一些實(shí)施例中,所述的第一模塊具體實(shí)現(xiàn)的功能包括:選取適當(dāng)?shù)母摺⒌烷撝?;遍歷圖像中所有像素點(diǎn),滿足閾值要求的則為感興趣區(qū)域像素點(diǎn),將所有感興趣區(qū)域的像素點(diǎn)用行程編碼保存。

在一些實(shí)施例中,所述的第三模塊具體實(shí)現(xiàn)的功能包括:求取多個(gè)連通域的最小行號(hào)和最大行號(hào),然后行號(hào)由小到大去統(tǒng)計(jì)多個(gè)連通域具有相同行號(hào)的行程,進(jìn)而一一合并兩個(gè)行程。

在一些實(shí)施例中,所述的合并兩個(gè)行程,具體包括三種情況:兩個(gè)行程沒有交集,結(jié)果存儲(chǔ)兩個(gè)行程;兩個(gè)行程有部分交集,結(jié)果為最小列號(hào)和最大列號(hào)組成的新行程;一個(gè)行程包含另外一個(gè)行程,結(jié)果存儲(chǔ)包含的行程。

本發(fā)明的有益效果在于,通過對(duì)圖像進(jìn)行行程編碼,所有操作都是針對(duì)編碼后的圖像,可以節(jié)省占用內(nèi)存,而且脫離了圖像的限制;另外,通過將多個(gè)連通域合并,再進(jìn)行后續(xù)Blob分析更易獲取特征信息,耗時(shí)更少。

附圖說明

下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,附圖中:

圖1為本發(fā)明的行程編碼的示意圖。

圖2為本發(fā)明的圖像閾值分割得到感興趣區(qū)域的示意圖。

圖3為本發(fā)明的多個(gè)連通域的示意圖。

圖4a、4b為本發(fā)明的兩個(gè)行程沒有交集相合并的示意圖,其中圖4a示出合并前,圖4b示出合并后。

圖5a、5b為本發(fā)明的兩個(gè)行程有部分交集相合并的示意圖,其中圖5a示出合并前,圖5b示出合并后。

圖6a、6b為本發(fā)明的一個(gè)行程包含另一個(gè)行程相合并的示意圖,其中圖6a示出合并前,圖6b示出合并后。

圖7為本發(fā)明算法的流程示意圖。

圖8為采用本發(fā)明算法對(duì)圖3所示的連通域進(jìn)行合并后的結(jié)果示意圖。

圖9為本發(fā)明裝置的示意性框圖。

具體實(shí)施方式

現(xiàn)結(jié)合附圖,對(duì)本發(fā)明的較佳實(shí)施例作詳細(xì)說明。

本發(fā)明提出一種基于行程編碼的多個(gè)連通域快速合并算法,主要包括三個(gè)步驟:對(duì)輸入圖像進(jìn)行行程編碼;標(biāo)記連通域;以及合并多個(gè)連通域。本發(fā)明算法適用的領(lǐng)域包括,但不限于:圖像處理blob分析;與圖形、輪廓匹配算法組合創(chuàng)建各種匹配的模板。

關(guān)于對(duì)輸入圖像進(jìn)行行程編碼的步驟,圖像處理中常需要對(duì)圖像進(jìn)行閾值分割以獲得感興趣區(qū)域?,F(xiàn)有算法中感興趣區(qū)域通常直接用圖像像素點(diǎn)表示,像素點(diǎn)表示感興趣區(qū)域存在的弊端:一是內(nèi)存占用大,二是無法表示多個(gè)連通域重疊部分。在內(nèi)存占用方面,以一幅8位深度200萬像素的灰度圖為例,若一片感興趣區(qū)域含30萬個(gè)像素點(diǎn),其內(nèi)存占用量為:2000000byte,約1.9MB。若采用行程編碼方式,內(nèi)存占用量可能低至3KB,二者相差近650倍,由此可見行程編碼感興趣區(qū)域?qū)p少內(nèi)存占用是有效的。采用行程編碼的另一個(gè)優(yōu)點(diǎn)是對(duì)感興趣區(qū)域分析時(shí),借助行程編碼可以直接對(duì)區(qū)域操作,而二值圖則需要先遍歷圖像再處理,耗時(shí)明顯增加。

行程編碼可分為行行程與列行程。其中,行行程包含行程所在行號(hào)Row、行程起始列Cb與行程終止列Ce。列行程包含行程所在列號(hào)Col、行程起始行Rb與行程終止行Re。

本發(fā)明的行程編碼是基于行行程實(shí)現(xiàn)的。感興趣區(qū)域每一行中連續(xù)符合閾值分割的像素點(diǎn)組成的區(qū)域稱為一個(gè)行程。表示一個(gè)行程僅需所在行號(hào)Row,起始列Cb與終止列Ce。若這三個(gè)分量都用兩個(gè)字節(jié)的Short(短)數(shù)據(jù)類型來表示,則一個(gè)行程占用6個(gè)字節(jié)。每一片感興趣區(qū)域是由有限個(gè)行程組成的。每一行可能包含若干個(gè)行程,存儲(chǔ)可以按照行號(hào)由小到大,行號(hào)相同時(shí)按列號(hào)由小到大。

參見圖1,圖1為本發(fā)明的行程編碼的示意圖。作為一個(gè)例舉,圖1示意出了像素101,第一行程103,第二行程105,第三行程107以及感興趣區(qū)域109。

參見圖2,圖2為本發(fā)明的圖像閾值分割得到感興趣區(qū)域的示意圖。作為一個(gè)例舉,圖2示出了背景200下的三個(gè)感興趣區(qū)域201、203和205。其中,第一感興趣區(qū)域201呈橫躺的葫蘆狀;第二感興趣區(qū)域203呈豎立且尺寸較大的矩形狀;第三感興趣區(qū)域205呈橫躺且尺寸較小的矩形狀。

關(guān)于標(biāo)記連通域的步驟,在行程編碼圖像后,需要進(jìn)行連通域標(biāo)記。具體實(shí)現(xiàn)可以參考已有的連通域標(biāo)記方法,例如:Two-Pass遍歷和Seed種子填充,在此不再贅述。

關(guān)于合并多個(gè)連通域的步驟,參見圖3,圖3為本發(fā)明的多個(gè)連通域的示意圖。作為一個(gè)例舉,圖3示出了背景300下的多個(gè)連通域301、303、305、307和309。其中,第一連通域301呈橢圓狀,其與第二連通域303存在部分重疊;第三連通域305和第四連通域307均為豎立且尺寸較大的矩形狀,并且第三連通域305包含第四連通域307在內(nèi);第五連通域309為橫躺且尺寸較小的矩形狀。

合并多個(gè)連通域的方法采用逐行合并,首先求取多個(gè)連通域中行程最小行號(hào)MinRow和最大行號(hào)MaxRow,然后根據(jù)行號(hào)由小到大遍歷多個(gè)連通域的行程,每次將行程具有相同行號(hào)的作為行程合并的操作源。當(dāng)循環(huán)從最小行號(hào)MinRow到最大行號(hào)MaxRow后,多個(gè)連通域也就合并成一個(gè)或多個(gè)新的連通域,并且行程的存儲(chǔ)順序也符合先前的規(guī)則:按照行號(hào)由小到大,行號(hào)相同時(shí)按列號(hào)由小到大。

兩個(gè)行程相合并主要有三種情況:1)兩個(gè)行程沒有交集,結(jié)果存儲(chǔ)兩個(gè)行程;參見圖4a、4b,圖4a、4b為本發(fā)明的兩個(gè)行程沒有交集相合并的示意圖,其中圖4a示出合并前在背景400下的兩個(gè)行程401、403,圖4b示出合并后在背景400下的兩個(gè)行程405、407。2)兩個(gè)行程有部分交集,結(jié)果為最小列號(hào)和最大列號(hào)組成的新行程;參見圖5a、5b,圖5a、5b為本發(fā)明的兩個(gè)行程有部分交集相合并的示意圖,其中圖5a示出合并前在背景500下的兩個(gè)行程501、503,二者具有交集505,圖5b示出合并后在背景500下的一個(gè)行程507。3)一個(gè)行程包含另外一個(gè)行程,結(jié)果存儲(chǔ)包含的行程;參見圖6a、6b,圖6a、6b為本發(fā)明的一個(gè)行程包含另一個(gè)行程相合并的示意圖,其中圖6a示出合并前在背景600下的兩個(gè)行程601、603,行程601包含行程603,圖6b示出合并后在背景600下的一個(gè)行程605。

參見圖7,圖7為本發(fā)明算法的流程示意圖。本發(fā)明算法大致包括以下步驟:S701、對(duì)輸入圖像進(jìn)行圖像分割,得到采用行程編碼的感興趣區(qū)域。具體而言,首先,選取適當(dāng)?shù)母?、低閾值;然后,遍歷圖像中所有像素點(diǎn),滿足閾值要求的則為感興趣區(qū)域像素點(diǎn),將所有感興趣區(qū)域的像素點(diǎn)用行程編碼保存,具體可參考圖1與圖2。

S702、對(duì)采用行程編碼的感興趣區(qū)域進(jìn)行處理,得到多個(gè)連通域。具體而言,可以對(duì)感興趣區(qū)域進(jìn)行連通域標(biāo)記,得到多個(gè)連通域;或者,將其它的處理方式得到多個(gè)連通域。

S703、合并多個(gè)連通域,得到合并后的連通域。合并多個(gè)連通域的方法是逐行合并,求取多個(gè)連通域的最小行號(hào)MinRow和最大行號(hào)MaxRow,然后行號(hào)由小到大去統(tǒng)計(jì)多個(gè)連通域具有相同行號(hào)的行程,進(jìn)而一一合并兩個(gè)行程,具體合并兩個(gè)行程可以參考圖4a、4b示出的兩個(gè)行程不需改變存儲(chǔ)的第一種情形;圖5a、5b示出的兩個(gè)行程中最小的列號(hào)和最大的列號(hào)組成新的行程存儲(chǔ)的第二種情形;以及圖6a、6b示出的存儲(chǔ)包含另一行程的行程本身的第三種情形。循環(huán)重復(fù)兩個(gè)行程合并的過程,直至將多個(gè)連通域的所有行程都遍歷完畢后,即可快速完成合并多個(gè)連通域。

參見圖8,圖8為采用本發(fā)明算法對(duì)圖3所示的連通域進(jìn)行合并后的結(jié)果示意圖。作為一個(gè)例舉,圖8示出了背景800下的三個(gè)連通域801、803和805??梢岳斫獾氖?,連通域801是前述圖3中的兩個(gè)連通域301、303的合并結(jié)果;連通域803是前述圖3中的兩個(gè)連通域305、307的合并結(jié)果;連通域805為前述圖3中的連通域309。

參見圖9,圖9為本發(fā)明裝置的示意性框圖。作為在一種例舉,該裝置900包括:第一模塊901,用于對(duì)輸入圖像進(jìn)行圖像分割,得到采用行程編碼的感興趣區(qū)域;第二模塊902,用于對(duì)采用行程編碼的感興趣區(qū)域進(jìn)行處理,得到多個(gè)連通域;以及第三模塊903,用于合并多個(gè)連通域,得到合并后的連通域。

該第一模塊901具體實(shí)現(xiàn)的功能包括:選取適當(dāng)?shù)母摺⒌烷撝?;遍歷圖像中所有像素點(diǎn),滿足閾值要求的則為感興趣區(qū)域像素點(diǎn),將所有感興趣區(qū)域的像素點(diǎn)用行程編碼保存。

該第三模塊903具體實(shí)現(xiàn)的功能包括:求取多個(gè)連通域的最小行號(hào)和最大行號(hào),然后行號(hào)由小到大去統(tǒng)計(jì)多個(gè)連通域具有相同行號(hào)的行程,進(jìn)而一一合并兩個(gè)行程。所述的合并兩個(gè)行程,具體包括三種情況:兩個(gè)行程沒有交集,結(jié)果存儲(chǔ)兩個(gè)行程;兩個(gè)行程有部分交集,結(jié)果為最小列號(hào)和最大列號(hào)組成的新行程;一個(gè)行程包含另外一個(gè)行程,結(jié)果存儲(chǔ)包含的行程。

可以理解的是,上述的三個(gè)模塊901、902、903既可以對(duì)應(yīng)于處理器上運(yùn)行的程序的三個(gè)軟件模塊,也可以對(duì)應(yīng)于專門構(gòu)建的三個(gè)硬件模塊。

本發(fā)明的有益效果包括:感興趣區(qū)域經(jīng)行程編碼后表示的最小單位為行程,每個(gè)行程可包含多個(gè)像素點(diǎn),因此行程數(shù)必然比像素點(diǎn)數(shù)少,與遍歷像素點(diǎn)的算法相比遍歷行程則變得簡單,耗時(shí)也將減少;采用行程編碼后,感興趣區(qū)域脫離二值圖表示的圖像寬度與高度的限制,直接保存任意形狀、任意大小的感興趣區(qū)域,無數(shù)據(jù)冗余,內(nèi)存占用少,可以解決資源有限制的應(yīng)用;多個(gè)連通域合并可以解決Blob分析中由多個(gè)連通域組合求取特征的繁瑣操作,可以由合并的新連通域直觀便捷分析Blob的特征信息;另外,多個(gè)連通域合并可以為圖形、輪廓匹配創(chuàng)建各種形狀的模板。

應(yīng)當(dāng)理解的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制,對(duì)本領(lǐng)域技術(shù)人員來說,可以對(duì)上述實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改和替換,都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
西宁市| 绥宁县| 莱州市| 绥棱县| 奇台县| 姜堰市| 山东| 文水县| 宿州市| 大洼县| 镇宁| 太仓市| 故城县| 堆龙德庆县| 乃东县| 祁阳县| 海门市| 东台市| 盐亭县| 九江县| 安阳市| 正阳县| 云浮市| 老河口市| 梓潼县| 依兰县| 清远市| 阜南县| 肃宁县| 巴南区| 二连浩特市| 苏州市| 阳山县| 天柱县| 永安市| 建湖县| 腾冲县| 新疆| 汕头市| 永济市| 甘洛县|