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

基于投影的圖像連通域單次掃描方法及裝置與流程

文檔序號:11139104閱讀:329來源:國知局
基于投影的圖像連通域單次掃描方法及裝置與制造工藝

本發(fā)明主要涉及車載智能輔助駕駛和工業(yè)視覺表面檢測領(lǐng)域,具體地說,涉及車載智能輔助駕駛視覺傳感器和工業(yè)視覺表面檢測相機(jī)硬件化的一種基于投影的圖像連通域單次掃描方法及裝置。



背景技術(shù):

在車載智能輔助駕駛和工業(yè)視覺表面檢測領(lǐng)域,都需要實(shí)現(xiàn)目標(biāo)物跟蹤檢測算法,而連通區(qū)域標(biāo)記CCL(Conneted Component Labeling)是該算法的核心技術(shù)。常見的CCL包括Two-Pass(兩次掃描)和One-Pass(單次掃描)的方法。

Two-Pass方法常見于基于PC進(jìn)行圖像處理的軟件實(shí)現(xiàn)算法中,對處理的實(shí)時性有一定的影響,具體是指先掃描一遍圖像找到連通區(qū)域并標(biāo)號,第二次掃描利用并查集算法合并不同的標(biāo)號區(qū)域。

One-Pass方法有“基于區(qū)域生長”的方法和“基于輪廓跟蹤”的方法。

“基于區(qū)域生長”的方法是指基于與掃描尺寸一致的標(biāo)記矩陣、緩存隊(duì)列以及標(biāo)記計(jì)數(shù)機(jī)制,掃描一遍圖像,基于八鄰域像素點(diǎn)按照連通長度進(jìn)行區(qū)域標(biāo)記,最終得到標(biāo)記矩陣和連通區(qū)域的個數(shù)。該方法只需要掃描一次圖像,但需要標(biāo)記矩陣,從而占用較大的存儲區(qū)域,且沒有很好的考慮線掃描方式獲取的連續(xù)圖像情況。

“基于輪廓跟蹤”是指從種子點(diǎn)p開始對內(nèi)輪廓和外輪廓進(jìn)行搜尋,對輪廓進(jìn)行跟蹤標(biāo)記,最終找到連通區(qū)域。該方法也只需要掃描一次圖像,但進(jìn)行輪廓搜尋過程中同樣需要占用較大的存儲空間,且采用硬件加速的方式比較困難。

由于算法處理實(shí)時性和有限存儲的要求,如何找到能有效采用硬件加速實(shí)現(xiàn)流水化連通區(qū)域算法,已成為本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問題。



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

有鑒于此,本發(fā)明的目的在于提供一種基于投影的圖像連通域單次掃描方法,只需要對圖像進(jìn)行單次掃描就能完成連通域的標(biāo)記和計(jì)算,將單個像素的所有處理步驟在一個時鐘周期內(nèi)完成,非常適合采用硬件環(huán)境的流水線實(shí)現(xiàn)。

本發(fā)明基于投影的圖像連通域單次掃描方法,包括如下步驟:

步驟一:初始化掃描第一行,將此行的連通段進(jìn)行標(biāo)號,輸出到標(biāo)號行緩存,并將標(biāo)號狀態(tài)數(shù)據(jù)輸入數(shù)據(jù)表隊(duì)列緩存;

步驟二:將上一行的標(biāo)號投影到當(dāng)前行,進(jìn)行連通段的連通判斷、分析和計(jì)算;

步驟三:在當(dāng)前像素點(diǎn)位置,進(jìn)行當(dāng)前標(biāo)號是否有效的第一判斷,以及上一行投影到當(dāng)前行的標(biāo)號是否有效的第二判斷;若第一判斷為無效,且第二判斷也為無效,則返回步驟二;若第一判斷為無效,第二判斷為有效,則執(zhí)行步驟四;若第一判斷為有效,且第二判斷也為有效,則執(zhí)行步驟五;若第一判斷為有效,第二判斷為無效,則執(zhí)行步驟六;

步驟四:取出上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將其作為當(dāng)前標(biāo)號,并掃描下一個像素;

步驟五:取出當(dāng)前標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù)和上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將兩個標(biāo)號所代表的連通段進(jìn)行合并,將合并后的狀態(tài)數(shù)據(jù)存儲到當(dāng)前標(biāo)號指示的數(shù)據(jù)表隊(duì)列,并將上一行投影的標(biāo)號狀態(tài)設(shè)置為無效狀態(tài);

步驟六:判斷當(dāng)前標(biāo)號的連通狀態(tài)是否結(jié)束,若結(jié)束則將當(dāng)前標(biāo)號置為無效,重新開始新的像素點(diǎn)掃描;若沒有結(jié)束則保持當(dāng)前標(biāo)號的狀態(tài)數(shù)據(jù),掃描下一個像素。

進(jìn)一步地,所述步驟二還包括:如果所述圖像的最后一行已經(jīng)被掃描,則結(jié)束流程;所述步驟四、步驟五和步驟六中,在結(jié)束當(dāng)前行的掃描處理后,返回步驟二。

進(jìn)一步地,所述步驟二具體包括:將上一行的標(biāo)號投影到當(dāng)前行,采用標(biāo)號行緩存存儲上一行的標(biāo)號投影,根據(jù)投影標(biāo)號從數(shù)據(jù)表隊(duì)列中讀出標(biāo)號數(shù)據(jù)狀態(tài)。

進(jìn)一步地,在所述步驟五和步驟六中,還包括:將設(shè)置為無效狀態(tài)的標(biāo)號,寫入用于循環(huán)利用的標(biāo)號空閑循環(huán)隊(duì)列中。

進(jìn)一步地,存儲標(biāo)號狀態(tài)數(shù)據(jù)的數(shù)據(jù)表隊(duì)列數(shù)據(jù),與標(biāo)號空閑循環(huán)隊(duì)列設(shè)置的大小一致。

進(jìn)一步地,所述數(shù)據(jù)表隊(duì)列根據(jù)標(biāo)號來存儲和讀取連通段的狀態(tài)數(shù)據(jù),根據(jù)圖像的分辨率大小和連通長度來預(yù)設(shè)隊(duì)列的長度。

進(jìn)一步地,在標(biāo)號循環(huán)隊(duì)列中,由空閑標(biāo)號的讀出指針和失效標(biāo)號的寫回指針控制整個隊(duì)列的運(yùn)轉(zhuǎn);當(dāng)連通段需要建立新的標(biāo)號時,從讀出指針讀出空閑標(biāo)號,而當(dāng)連通段連通狀態(tài)結(jié)束時或合并時,則將失效的標(biāo)號從寫回指針寫回到循環(huán)隊(duì)列中,用于循環(huán)利用。

進(jìn)一步地,在所述步驟六中,當(dāng)x方向連通長度達(dá)到設(shè)定要求時,當(dāng)前標(biāo)號的連通狀態(tài)設(shè)置為結(jié)束;當(dāng)x方向和y方向連通長度同時達(dá)到設(shè)定要求時,當(dāng)前標(biāo)號的連通狀態(tài)設(shè)置為結(jié)束,并根據(jù)當(dāng)前標(biāo)號取出數(shù)據(jù)表中連通區(qū)域狀態(tài)數(shù)據(jù)作為該連通段的最終狀態(tài)數(shù)據(jù)。

進(jìn)一步地,該方法還包括以下步驟:設(shè)定x方向和y方向的連通長度,控制連通域的連通范圍。

本發(fā)明的另一個目的,還提供一種基于投影的圖像連通域單次掃描裝置,該裝置包括:

初始化模塊,用于初始化掃描第一行,將此行的連通段進(jìn)行標(biāo)號,輸出到標(biāo)號行緩存,并將標(biāo)號狀態(tài)數(shù)據(jù)輸入數(shù)據(jù)表隊(duì)列緩存;

投影模塊,用于將上一行的標(biāo)號投影到當(dāng)前行,進(jìn)行連通段的連通判斷、分析和計(jì)算;

判斷模塊,用于在當(dāng)前像素點(diǎn)位置,進(jìn)行當(dāng)前標(biāo)號是否有效的第一判斷,以及上一行投影到當(dāng)前行的標(biāo)號是否有效的第二判斷;若第一判斷為無效,且第二判斷也為無效,則觸發(fā)投影模塊;若第一判斷為無效,第二判斷為有效,則觸發(fā)第一執(zhí)行模塊;若第一判斷為有效,且第二判斷也為有效,則觸發(fā)第二執(zhí)行模塊;若第一判斷為有效,第二判斷為無效,則觸發(fā)第三執(zhí)行模塊;

第一執(zhí)行模塊,用于取出上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將其作為當(dāng)前標(biāo)號,并掃描下一個像素;

第二執(zhí)行模塊,用于取出當(dāng)前標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù)和上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將兩個標(biāo)號所代表的連通段進(jìn)行合并,將合并后的狀態(tài)數(shù)據(jù)存儲到當(dāng)前標(biāo)號指示的數(shù)據(jù)表隊(duì)列,并將上一行投影的標(biāo)號狀態(tài)設(shè)置為無效狀態(tài);

第三執(zhí)行模塊,用于判斷當(dāng)前標(biāo)號的連通狀態(tài)是否結(jié)束,若結(jié)束則將當(dāng)前標(biāo)號置為無效,重新開始新的像素點(diǎn)掃描;若沒有結(jié)束則保持當(dāng)前標(biāo)號的狀態(tài)數(shù)據(jù),掃描下一個像素。

本發(fā)明基于投影的圖像連通域單次掃描方法及裝置,只需要單次掃描就能夠完成圖像的連通處理,并且不需要存儲完整的圖像,也不需要對圖像進(jìn)行隨機(jī)訪問;此外,本發(fā)明可通過設(shè)置x、y方向的連通長度,控制連通域的連通范圍,而不僅僅只適應(yīng)于4連通或8連通域(即連通長度為1的情況);而且,在硬件環(huán)境中,由于采用了投影技術(shù),本發(fā)明非常適合采用流水線方式實(shí)現(xiàn),達(dá)到實(shí)時處理的效果。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為發(fā)明實(shí)施例提供的單次掃描方法的標(biāo)號判定方法示意圖;

圖2為發(fā)明實(shí)施例提供的單次掃描連通方法的數(shù)據(jù)流圖;

圖3為發(fā)明一實(shí)施例基于投影的圖像連通域單次掃描方法的流程圖;

圖4為本發(fā)明另一實(shí)施例基于投影的圖像連通域單次掃描方法的流程圖;

圖5a和圖5b為發(fā)明實(shí)施例提供的掃描連通長度示意圖;

圖6a和圖6b為發(fā)明實(shí)施例提供的標(biāo)號循環(huán)隊(duì)列和數(shù)據(jù)表隊(duì)列示意圖;

圖7為發(fā)明實(shí)施例提供的掃描過程的示意圖;

圖8為本發(fā)明一實(shí)施例基于投影的圖像連通域單次掃描裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面對本發(fā)明的具體實(shí)施方式作進(jìn)一步的詳細(xì)說明。對于所屬技術(shù)領(lǐng)域的技術(shù)人員而言,從對本發(fā)明的詳細(xì)說明中,本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)將顯而易見。

本發(fā)明實(shí)現(xiàn)了一種可以在硬件環(huán)境中進(jìn)行流水線設(shè)計(jì)運(yùn)行的圖像連通域單次掃描方法及裝置。該方法及裝置采用基于投影的技術(shù),在每次掃描過程中將上一行的連通標(biāo)號投影到下一行,并分析標(biāo)號連通段的連通狀態(tài),從而不需要存儲整幅的圖像,大大節(jié)省了存儲空間,并且只需要進(jìn)行單次掃描就能將連通的區(qū)域合并,極大的提高算法在硬件中的運(yùn)行效率,并達(dá)到實(shí)時處理的效果。

首先,先介紹該方法的標(biāo)號判定方法和數(shù)據(jù)的流通過程。

圖1為本發(fā)明實(shí)施例提供的單次掃描方法的標(biāo)號判定方法示意圖。如圖1所示,箭頭表示掃描圖像的方向,I表示掃描到的當(dāng)前像素點(diǎn)位置,A表示即將掃描到的下一個像素點(diǎn)的上一行的位置,B表示當(dāng)前像素點(diǎn)的前一個像素點(diǎn)位置。在掃描過程中,需要根據(jù)前一個像素點(diǎn)位置標(biāo)號的狀態(tài)(此狀態(tài)作為當(dāng)前標(biāo)號狀態(tài)),當(dāng)前掃描像素點(diǎn)的狀態(tài),即將掃描到的下一個像素點(diǎn)的上一行的位置標(biāo)號的狀態(tài),這三個狀態(tài)同時進(jìn)行是否合并的判定。

圖2為本發(fā)明實(shí)施例提供的單次掃描連通方法的數(shù)據(jù)流圖。如圖2所示,I、B、A表示的含義與圖1一致,Q表示合并判定后的標(biāo)號輸出,Q輸出后需要進(jìn)行緩存,用于下一行的判定;合并控制通過判斷I、B、A的標(biāo)號和像素狀態(tài),進(jìn)行是否合并的判定,以及數(shù)據(jù)表隊(duì)列的緩存,而當(dāng)需要建立新的連通段時,則由標(biāo)號循環(huán)隊(duì)列提供空閑標(biāo)號,用于建立新連通段。

圖3為本發(fā)明一實(shí)施例基于投影的圖像連通域單次掃描方法的流程圖,包括如下步驟:

步驟S1:初始化掃描第一行,將此行的連通段進(jìn)行標(biāo)號,輸出到標(biāo)號行緩存,并將標(biāo)號狀態(tài)數(shù)據(jù)輸入數(shù)據(jù)表隊(duì)列緩存;

步驟S2:將上一行的標(biāo)號投影到當(dāng)前行,進(jìn)行連通段的連通判斷、分析和計(jì)算;

進(jìn)一步地,步驟S2還包括:如果所述圖像的最后一行已經(jīng)被掃描,則結(jié)束流程。此外,優(yōu)選步驟S2具體包括:將上一行的標(biāo)號投影到當(dāng)前行,采用標(biāo)號行緩存存儲上一行的標(biāo)號投影,根據(jù)投影標(biāo)號從數(shù)據(jù)表隊(duì)列中讀出標(biāo)號數(shù)據(jù)狀態(tài)。

步驟S3:在當(dāng)前像素點(diǎn)位置,進(jìn)行當(dāng)前標(biāo)號是否有效的第一判斷,以及上一行投影到當(dāng)前行的標(biāo)號是否有效的第二判斷;若第一判斷為無效,且第二判斷也為無效,則返回步驟S2;若第一判斷為無效,第二判斷為有效,則執(zhí)行步驟S4;若第一判斷為有效,且第二判斷也為有效,則執(zhí)行步驟S5;若第一判斷為有效,第二判斷為無效,則執(zhí)行步驟S6;

步驟S4:取出上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將其作為當(dāng)前標(biāo)號,并掃描下一個像素;

步驟S5:取出當(dāng)前標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù)和上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將兩個標(biāo)號所代表的連通段進(jìn)行合并,將合并后的狀態(tài)數(shù)據(jù)存儲到當(dāng)前標(biāo)號指示的數(shù)據(jù)表隊(duì)列,并將上一行投影的標(biāo)號狀態(tài)設(shè)置為無效狀態(tài);

步驟S6:判斷當(dāng)前標(biāo)號的連通狀態(tài)是否結(jié)束,若結(jié)束則將當(dāng)前標(biāo)號置為無效,重新開始新的像素點(diǎn)掃描;若沒有結(jié)束則保持當(dāng)前標(biāo)號的狀態(tài)數(shù)據(jù),掃描下一個像素。

前述步驟S4、步驟S5和步驟S6中,在結(jié)束當(dāng)前行的掃描處理后,返回步驟S2。

需要說明的是,前述S1-S6只是為了更清楚簡要地表達(dá)各步驟而標(biāo)號,但并不能據(jù)此限定各步驟的順序。在前述各步驟的順序調(diào)換時,同樣可以實(shí)現(xiàn)本發(fā)明的技術(shù)效果。

前述實(shí)施例只需要單次掃描就能夠完成圖像的連通處理,并且不需要存儲完整的圖像,也不需要對圖像進(jìn)行隨機(jī)訪問;而且,在硬件環(huán)境中,由于采用了投影技術(shù),該實(shí)施例非常適合采用流水線方式實(shí)現(xiàn),達(dá)到實(shí)時處理的效果。

此外,前述實(shí)施例還可以還包括以下步驟:設(shè)定x方向和y方向的連通長度,控制連通域的連通范圍。通過設(shè)置x、y方向的連通長度,控制連通域的連通范圍,而不僅僅只適應(yīng)于4連通或8連通域(即連通長度為1的情況)。

圖4為本發(fā)明另一實(shí)施例基于投影的圖像連通域單次掃描方法的流程圖,包括如下步驟:

步驟401,初始化掃描第一行,將此行的連通段進(jìn)行標(biāo)號,輸出到標(biāo)號行緩存,并將標(biāo)號狀態(tài)數(shù)據(jù)輸入數(shù)據(jù)表隊(duì)列緩存;

步驟402,將上一行的標(biāo)號投影到當(dāng)前行,從左到右進(jìn)行連通段的連通判斷、分析和計(jì)算;

步驟403,判斷在當(dāng)前像素點(diǎn)位置,當(dāng)前標(biāo)號是否有效,有效則執(zhí)行步驟405,否則執(zhí)行步驟404;

步驟404,在步驟403判定無效時,判斷在當(dāng)前像素點(diǎn)位置,上一行投影到當(dāng)前行的標(biāo)號是否有效,有效則執(zhí)行步驟406,否則直接掃描下一個像素點(diǎn);

步驟405,在步驟403判定有效時,判斷在當(dāng)前像素點(diǎn)位置,上一行投影到當(dāng)前行的標(biāo)號是否有效,有效則執(zhí)行步驟407,否則執(zhí)行步驟408;

步驟406,取出上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將其作為當(dāng)前標(biāo)號,并掃描下一個像素;

步驟407,取出當(dāng)前標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù)和上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將兩個標(biāo)號所代表的連通段進(jìn)行合并,將合并后的狀態(tài)數(shù)據(jù)存儲到當(dāng)前標(biāo)號指示的數(shù)據(jù)表隊(duì)列,并將上一行投影的標(biāo)號狀態(tài)設(shè)置為無效狀態(tài),掃描下一個像素;

步驟408,判斷當(dāng)前標(biāo)號的連通狀態(tài)是否結(jié)束,若結(jié)束則將當(dāng)前標(biāo)號置為無效,重新開始新的像素點(diǎn)掃描;若沒有結(jié)束則保持當(dāng)前標(biāo)號的狀態(tài)數(shù)據(jù),掃描下一個像素;

在步驟406、步驟407和步驟408中,當(dāng)掃描到一行的最后一個像素,則返回步驟402,并且所述步驟402還包括:如果所述圖像的最后一行已經(jīng)被掃描,則結(jié)束流程。

圖4所示的實(shí)施例也可以通過設(shè)置x、y方向各自的連通長度,來處理不同連通長度的連通段,而現(xiàn)有技術(shù)中其他連通域掃描方法只能處理4連通域或8連通域的連通掃描,即x、y方向連通長度只能為1。

圖5a和圖5b為本發(fā)明實(shí)施例提供的掃描連通長度示意圖。如圖5a和圖5b所示,連通長度分為x方向和y方向,當(dāng)連通段屬于連通長度之內(nèi),則將兩個連通塊合并為一個連通段,當(dāng)連通段超出了連通長度,則分為不同的連通段進(jìn)行處理。在步驟S6或步驟408中,需要判斷當(dāng)前標(biāo)號的連通狀態(tài)是否結(jié)束,而當(dāng)x方向連通長度達(dá)到設(shè)定要求時,當(dāng)前標(biāo)號的連通狀態(tài)設(shè)置為結(jié)束;當(dāng)x方向和y方向連通長度同時達(dá)到設(shè)定要求時,當(dāng)前標(biāo)號的連通狀態(tài)設(shè)置為結(jié)束,并根據(jù)當(dāng)前標(biāo)號取出數(shù)據(jù)表中連通區(qū)域狀態(tài)數(shù)據(jù)作為該連通段的最終狀態(tài)數(shù)據(jù),即圖2中的連通區(qū)域輸出。

本發(fā)明的方法需要一個用于存放標(biāo)號的循環(huán)隊(duì)列和存放連通段狀態(tài)數(shù)據(jù)的數(shù)據(jù)表隊(duì)列,如圖6a和圖6b所示,為發(fā)明實(shí)施例提供的標(biāo)號循環(huán)隊(duì)列和數(shù)據(jù)表隊(duì)列示意圖。在標(biāo)號循環(huán)隊(duì)列中,由空閑標(biāo)號的讀出指針和失效標(biāo)號的寫回指針控制整個隊(duì)列的運(yùn)轉(zhuǎn)。當(dāng)連通段需要建立新的標(biāo)號時,從讀出指針讀出空閑標(biāo)號,而當(dāng)連通段連通狀態(tài)結(jié)束時或合并時,則將失效的標(biāo)號從寫回指針寫回到循環(huán)隊(duì)列中,用于循環(huán)利用;數(shù)據(jù)表隊(duì)列則根據(jù)標(biāo)號來存儲和讀取連通段的狀態(tài)數(shù)據(jù)。標(biāo)號循環(huán)隊(duì)列大小與數(shù)據(jù)表隊(duì)列的大小一致,可根據(jù)圖像的分辨率大小和連通長度來設(shè)定,由于采用了循環(huán)隊(duì)列機(jī)制,且只存儲連通段的狀態(tài)數(shù)據(jù),因此需要的存儲空間不大。

圖7為發(fā)明實(shí)施例提供的掃描過程的示意圖,此示意說明設(shè)置的x、y連通長度都為4,具體的掃描過程如下:

掃描R1行:由于是第1行,因此沒有上一行的投影,只需考慮本行的連通段,在C3列的位置,建立新的標(biāo)號“1”,并在數(shù)據(jù)表隊(duì)列的相應(yīng)位置記錄下當(dāng)前連通段的狀態(tài)數(shù)據(jù);在C4列時,由于當(dāng)前標(biāo)號已經(jīng)有效,則直接更新當(dāng)前標(biāo)號的連通段狀態(tài)數(shù)據(jù);掃描完R1行后,將此行的標(biāo)號投影到下一行。

掃描R2行:由于上一個的標(biāo)號已經(jīng)投影到了本行,所以在C2列的位置,需要判斷上一行投影到當(dāng)前行的標(biāo)號是否有效,在有效的情況下,將該標(biāo)號的連通段的狀態(tài)數(shù)據(jù)讀出,并更新,然后寫回到數(shù)據(jù)表隊(duì)列;在該行的掃描中,C3、C4、C5列的數(shù)據(jù)都會更新到標(biāo)號“1”的連通段狀態(tài)數(shù)據(jù)中,而在C12列的位置,因已超出標(biāo)號“1”的連通段的連通長度,所以新建標(biāo)號“2”的連通段。

掃描R3、R4行:此兩行都根據(jù)上一行的標(biāo)號投影進(jìn)行連通判斷和狀態(tài)數(shù)據(jù)更新,在第R4行結(jié)束后,形成了標(biāo)號“1”和標(biāo)號“2”的兩個連通段。

掃描R5行:首先該行的掃描與上面描述的類似,在第C9列時,因?yàn)檫B通長度還在連通范圍之內(nèi),因此將C9列的數(shù)據(jù)更新到標(biāo)號“1”的連通段;在C10列的位置,此時出現(xiàn)了當(dāng)前標(biāo)號“1”的連通段有效,而上一行投影到此行的標(biāo)號“2”的連通段也有效的情況,因此需要將兩個連通段合并,將連通狀態(tài)數(shù)據(jù)更新,合并到標(biāo)號“1”的連通段中,存儲到數(shù)據(jù)表隊(duì)列,并設(shè)置標(biāo)號“2”失效,寫回到標(biāo)號循環(huán)隊(duì)列中。

掃描R6行:該行的掃描中,由上一行投影到該行的標(biāo)號就變?yōu)楹喜⒑蟮臉?biāo)號“1”的連通段。而在后續(xù)行的掃描中,當(dāng)x方向和y方向連通長度同時達(dá)到設(shè)定要求時,標(biāo)號“1”的連通狀態(tài)結(jié)束,可輸出該連通段的最終狀態(tài)數(shù)據(jù)。

圖8為本發(fā)明一實(shí)施例基于投影的圖像連通域單次掃描裝置的結(jié)構(gòu)框圖,該裝置包括:

初始化模塊100,用于初始化掃描第一行,將此行的連通段進(jìn)行標(biāo)號,輸出到標(biāo)號行緩存,并將標(biāo)號狀態(tài)數(shù)據(jù)輸入數(shù)據(jù)表隊(duì)列緩存;

投影模塊200,用于將上一行的標(biāo)號投影到當(dāng)前行,進(jìn)行連通段的連通判斷、分析和計(jì)算;

判斷模塊300,用于在當(dāng)前像素點(diǎn)位置,進(jìn)行當(dāng)前標(biāo)號是否有效的第一判斷,以及上一行投影到當(dāng)前行的標(biāo)號是否有效的第二判斷;若第一判斷為無效,且第二判斷也為無效,則觸發(fā)投影模塊;若第一判斷為無效,第二判斷為有效,則觸發(fā)第一執(zhí)行模塊;若第一判斷為有效,且第二判斷也為有效,則觸發(fā)第二執(zhí)行模塊;若第一判斷為有效,第二判斷為無效,則觸發(fā)第三執(zhí)行模塊;

第一執(zhí)行模塊400,用于取出上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將其作為當(dāng)前標(biāo)號,并掃描下一個像素;

第二執(zhí)行模塊500,用于取出當(dāng)前標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù)和上一行投影到當(dāng)前行標(biāo)號的數(shù)據(jù)表隊(duì)列數(shù)據(jù),將兩個標(biāo)號所代表的連通段進(jìn)行合并,將合并后的狀態(tài)數(shù)據(jù)存儲到當(dāng)前標(biāo)號指示的數(shù)據(jù)表隊(duì)列,并將上一行投影的標(biāo)號狀態(tài)設(shè)置為無效狀態(tài);

第三執(zhí)行模塊600,用于判斷當(dāng)前標(biāo)號的連通狀態(tài)是否結(jié)束,若結(jié)束則將當(dāng)前標(biāo)號置為無效,重新開始新的像素點(diǎn)掃描;若沒有結(jié)束則保持當(dāng)前標(biāo)號的狀態(tài)數(shù)據(jù),掃描下一個像素。

前述實(shí)施例只需要單次掃描就能夠完成圖像的連通處理,并且不需要存儲完整的圖像,也不需要對圖像進(jìn)行隨機(jī)訪問;而且,在硬件環(huán)境中,由于采用了投影技術(shù),該實(shí)施例非常適合采用流水線方式實(shí)現(xiàn),達(dá)到實(shí)時處理的效果。

此外,前述實(shí)施例還可以包括設(shè)定模塊,用于設(shè)定x方向和y方向的連通長度,控制連通域的連通范圍。通過設(shè)置x、y方向的連通長度,控制連通域的連通范圍,而不僅僅只適應(yīng)于4連通或8連通域(即連通長度為1的情況)。

還應(yīng)當(dāng)理解,本發(fā)明雖然已通過以上實(shí)施例進(jìn)行了清楚說明,然而在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,所屬技術(shù)領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種變化和修正,均屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
襄垣县| 花垣县| 荆州市| 辽宁省| 绥阳县| 大田县| 天峻县| 武威市| 库车县| 革吉县| 驻马店市| 台南市| 车险| 逊克县| 大宁县| 信宜市| 枞阳县| 藁城市| 保亭| 当雄县| 邻水| 葵青区| 郴州市| 曲水县| 兰州市| 金塔县| 河间市| 陆丰市| 台北县| 黔西县| 会东县| 长宁县| 正安县| 古丈县| 永嘉县| 高陵县| 密云县| 海安县| 科技| SHOW| 晋江市|