專利名稱::一種新型的交點配對填充算法的制作方法
技術(shù)領域:
:本發(fā)明涉及一種圖像區(qū)域的交點配對填充算法,屬于計算機圖像處理
技術(shù)領域:
。
背景技術(shù):
:圖像區(qū)域填充在圖像處理和計算機圖形學領域的一個被探討了許多年的基本和重要的問題。在圖像科學技術(shù)中經(jīng)常采用這個技術(shù)來完成圖像顯示和圖像分析,例如為了獲得兩個物體中的共同區(qū)域,獲得兩個區(qū)域的關系,或者存儲二值圖像。計算機圖形學領域中經(jīng)常使用區(qū)域填充來為區(qū)域著色。雖然當前計算機硬件速度快速提高,然而發(fā)展一種有效的填充算法依然十分必要。傳統(tǒng)的填充算法可以被分成兩類一類是基于掃描線與圖像邊界間交點的奇偶配對的,另一類是基于種子生長。目前的許多基于掃描線與圖像邊界點間交點奇偶配對的算法雖然具有速度快的優(yōu)點,但是由于存在將水平掃描線與圖像區(qū)域邊界相交頂點計為一個或兩個交點的問題而使算法的復雜度大大增加,使該算法的優(yōu)點無法充分顯示出來。后一類算法要用算法實現(xiàn)自動尋找種子點是很難的,如果要遍歷所有的內(nèi)部像素點既耗時間又耗內(nèi)存。在計算機圖形學領域,邊界通常被描述為一系列的坐標點。因而,在它的邊界內(nèi)進行填充的填充算法與前面提到的填充算法的原理沒有很大區(qū)別。在數(shù)字圖像處理領域中,邊界通常由鏈編碼來加以描述,因此,在邊界所包圍的區(qū)域內(nèi)進行填充的填充算法與計算機圖形學領域中的填充算法有所不同,當然也都是以上述兩種算法為原型的。在圖像處理領域上,現(xiàn)有的基于奇偶配對的算法普遍存在的問題是在實現(xiàn)過程中需要申請更多的內(nèi)存來完成配對點的存儲,而基于種子填充的算法普遍存在的問題是尋找有效的種子點十分耗費時間。
發(fā)明內(nèi)容本發(fā)明的目的是為了進一步提高數(shù)字圖像處理中的填充的效率,提供一種有效、快速、耗資源少的填充算法。目前他人提出的基于奇偶配對的算法(邊界的表示方式為頂點鏈編碼)的主要思想是記錄所有左右兩個緊貼圖像區(qū)域的邊界像素點于一個數(shù)組中,再對數(shù)組中的所有坐標點按y值進行排序,并且當y值相同時,按x值進行排序,將排好序后的數(shù)組中的坐標點一一配對,然后進行掃描線填充??梢钥吹?,這個算法中需要一個較大數(shù)組來記錄邊界的像素點用于填充配對,且進行交點配對的時間復雜度是很高的。本發(fā)明的技術(shù)方案是這樣來實現(xiàn)的,它借助于邊界標定自動機獲得以這樣格式存儲的頂點鏈編碼邊界,其中(x0,y0)是邊界追蹤的首點,是該頂點鏈編碼邊界的是首個行走方向,n是鏈編碼的編碼數(shù),ci是第i個編碼,其中i=1,2,3。通過填充這種形式的邊界來完成填充。具體步驟為1.構(gòu)造填充自動機A,使其完成2個工作1個工作是找到圖像區(qū)域中所有圖像區(qū)域右端點像素并對它們用填充色進行標記;另一個工作是找到頂點鏈編碼邊界所對應的圖像區(qū)域中所有左端點像素并用一個數(shù)組記錄下這些點。填充自動機A順序遍歷頂點鏈編碼表示的圖像區(qū)域邊界,就能夠完成以上兩步工作。在遍歷時,根據(jù)表1所示的狀態(tài)遷移,來決定填充自動機A的行走方向和行走位置以及所要進行的操作。其中的和是由鏈編碼確定的自動機的行走方向。根據(jù)表1的狀態(tài)遷移,當填充自動機A的行走方向為且遇到編碼l、2、3時,啟動一個子程序A,該子程序完成對這個鏈編碼所對應的圖像區(qū)域上的右邊像素的填充色填充;當填充自動機A的行走方向為且分別遇到鏈編碼為1、2、3時,啟動一個子程序B,該子程序完成記錄邊界所對應的圖像區(qū)域的左端像素的記錄并存于一個數(shù)組的工作。<tablesid="tabl0001"num="0001"></tables>表1.自動機A的狀態(tài)遷移映射和輸出映射2.當填充自動機A完成了第1步的操作以后,逐一取出數(shù)組中的坐標點P,以這個坐標點為起始點對其以及其右邊的與P點具有相同y值的坐標點用填充色進行填充,直到遇到已經(jīng)標記過的圖像區(qū)域的右端像素為止。3.當完成1,2兩步操作之后,填充即告完成。本發(fā)明是一種新型的奇偶配對的填充算法,其克服了傳統(tǒng)的奇偶配對可能造成的配對困難,配對耗時間耗內(nèi)存的局面,同時也沒有尋找種子點耗時的弊端。本算法在填充時,不需要配對遍歷鏈編碼后所獲得的關鍵點,而且它只需要保存上文所敘述的他人的奇偶配對的填充算法中所要保存的點的一半,就可以完成填充,因此算法的效率得以大大提高。圖1所示的和是由鏈編碼確定的自動機A的行走方向。圖2中所示的是第1步完成時,其中的紅色部分即為填充色(對于二值圖像而言一般為黑色),填充的像素為圖像區(qū)域的右端像素。圖3為一個示例。具體實施例方式以一條待填充的鏈為例,來介紹整個填充的實施過程。已知有鏈(6,1)(1)22122222222332131222221131313133123123131231122221231312323222212212222222222222222221。1.填充自動機A開始工作??梢詮逆溇幋a中得知首點的行走方向根據(jù)首個編碼2,對照表1,可以得到下一個行走方向仍舊為以及下一個邊界的坐標值(7,1),同時根據(jù)表1,也可以知道這個并不是一個應該被處理的點,因此不會調(diào)用子程序A或者子程序B。略過當中的一些點,當當前點的坐標(9,2)時,此時當前的行走方向為下一個編碼為2,根據(jù)表1的狀態(tài)遷移,可以得到下一個行走方向為以及下一個邊界的坐標值為(9,3),并且調(diào)用子程序A,對(9,2)左邊的點(8,2)用填充色標記;填充自動機A繼續(xù)行走,當當前點的坐標為(12,20)時,此時當前的行走方向為下一個編碼為2,根據(jù)表1的狀態(tài)遷移,此時可以得到下一個行走方向為以及下一個邊界的坐標值為(12,19),并且調(diào)用子程序B,在數(shù)組中記錄下當前點所對應的圖像區(qū)域的左端點(13,20)。其他的各點不再一一列舉。2.填充自動機A完成工作之后,取出數(shù)組中的點,例如(13,20),從這個點開始(該點也需要置填充色),用填充色向右填色,直到遇到(18,20)停止填色。3.完成上面2步后,填充即告完成。權(quán)利要求1.一種新型的奇偶配對填充算法,其特點在于有效、快速、內(nèi)存消耗低的填充圖像區(qū)域。具體步驟為(1)使用填充自動機A做2個工作用填充色標記出邊界上圖像區(qū)域的右端點;尋找圖像區(qū)域的左端點并記錄在一個數(shù)組中。(2)填充自動機A完成工作后,逐一取出數(shù)組中的像素,以該像素為其始點對其以及其右邊的像素進行填充直到遇到由填充自動機A標出的區(qū)域右端點為止。(3)填充完成。全文摘要本發(fā)明涉及一種新型的奇偶配對填充算法,屬于數(shù)字圖像處理領域。填充是一種在圖像和圖形處理中最基本而又最重要的問題。本算法與現(xiàn)有其他方法相比具有節(jié)約內(nèi)存,速度快等優(yōu)點。其技術(shù)方案為根據(jù)獲得的某圖像區(qū)域的以1,2,3構(gòu)成的頂點鏈編碼表示的邊界,利用填充自動機A,用填充色直接在圖像上標記出區(qū)域內(nèi)的每個右端點像素,以及記錄圖像區(qū)域的每個左端點像素于一個數(shù)組中;逐一取出數(shù)組中的像素,以該像素為起始點對其以及其右邊的像素進行填充直到遇到由填充自動機A標出的區(qū)域右端點為止,填充即告完成。其適用于數(shù)字圖像處理中的圖像的顯示,獲得兩個物體中的共同區(qū)域,獲得兩個區(qū)域的關系,或者存儲二值圖像。文檔編號G06T1/00GK101082980SQ20061002485公開日2007年12月5日申請日期2006年6月1日優(yōu)先權(quán)日2006年6月1日發(fā)明者顧國慶,匡蘊娟,張薇申請人:上海吉量軟件科技有限公司