專利名稱:光柵圖像矢量化的計算機自動處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于矢量化圖像,特別是來自光柵文件的繪圖的矢量化的計算機自動處理以提供可使用和操作的準確的圖像圖形表示。
背景技術(shù):
所有的工程項目都產(chǎn)生繪圖。這些繪圖有的是用計算機輔助繪圖技術(shù)制備的,因而產(chǎn)生電子圖形文件。但是,這些繪圖通常是用鉛筆和紙畫出的。相對紙上繪圖而言,電子繪圖文件有明顯的優(yōu)點,它們?nèi)菀變Υ妫崛『托薷?。對電子繪圖文件修改的時間只是對紙圖修改所需時間的數(shù)分之一。電子繪圖文件的另一優(yōu)點是將它們復(fù)制和傳送的速度要比紙圖快得多。隨著國際互聯(lián)網(wǎng)的發(fā)明,這是一個重要的考慮。
因此,已經(jīng)有將傳統(tǒng)紙圖轉(zhuǎn)換成電子格式的明顯需求,這樣能使用戶使用和操作這類繪圖并獲取電子格式的其它優(yōu)點。這種轉(zhuǎn)換通常是用掃描代掃描繪圖以產(chǎn)生繪圖的光柵(位圖)而實現(xiàn)的。一旦繪圖被掃描,它即可以轉(zhuǎn)換成用矢量化處理的可用圖形格式。
在當今的市場上有眾多的矢量化技術(shù)用于將位像轉(zhuǎn)換成計算機輔助設(shè)計(CAD)軟件可采納的圖形格式。根據(jù)它們的處理方法可將當今的矢量化方法分成兩大類,即薄為基礎(chǔ)的方法和運行長度編碼(RLE)為基礎(chǔ)的方法。兩種方法僅依據(jù)相對于矢量的局部信息分析和識別矢量。在處理交叉線,較短線和畸變線時兩種方法均存在問題,因而難以判斷通過交叉后跟蹤的方向,特別是當交叉點有噪聲時更是如此。這樣就需要在后處理算法中引入大量的搜索和適當組合的算法。因此這些技術(shù)都是慢的。還有一點不盡人意的是它們的準確度有限。它們的這些短處就限制了將紙圖轉(zhuǎn)換成電子圖形文件的范圍。
發(fā)明概述本發(fā)明克服了現(xiàn)今將光柵/位像矢量化以產(chǎn)生可用圖形文件方法的缺點。
本發(fā)明是用于矢量化位像的計算機自動處理,其中中央處理器分析在光柵/位像中找到的線并根據(jù)預(yù)先定義的算法將信息處理以產(chǎn)生可由CAD軟件操作的可用圖形文件。本處理方法利用包含在位圖/光柵圖像內(nèi)圖形元素之間的幾何關(guān)系并且在矢量化期間將圖形元素作為整體加以保留。換言之,本處理方法不僅識別整條線,同時也識別與該線交叉的線。結(jié)果使整個矢量化過程加速而且準確度也高。
工程繪圖中的多數(shù)線不是孤立的,而是相互交叉形成線網(wǎng)。為了將光柵圖像讀出和矢量化,首先需要建立線網(wǎng),即繪圖中被連接線的集合,它們表示繪圖中有意義的成分。一旦線網(wǎng)中的第一條線被識別,則憑借線網(wǎng)中這些線的連接性線網(wǎng)中的所有其它線都可以被識別。這是該矢量化處理中的基本方法。
圖1流程圖所示為一張整圖的矢量化過程。中央處理器對光柵圖像掃描以找出第一線網(wǎng)。一旦找出一個線網(wǎng),即用總體線網(wǎng)矢量化完全加以識別。然后中央處理器對下一線網(wǎng)的圖像再掃描,直至整個圖像被掃描為止。
線網(wǎng)的識別如圖2流程圖所示。線網(wǎng)的識別首先是從建立種子段開始的,以得到一條線的方向和寬度。一旦一種子段被識別,則通過在兩相反方向增長種子段而可以將整條線識別。在所說的線的識別期間,沿該線的所有交叉也被識別。在該線被識別之后,必須將僅對應(yīng)于該線的位置從圖像數(shù)據(jù)中刪除以避免重復(fù)。最后,中央處理器首先選取垂直交叉(PI),然后是斜交叉(OI),最后是復(fù)雜交叉(CI),利用從上述特殊交叉得到的方向和寬度開始交叉線的識別。然后將這種方法對每種交叉加以重復(fù)直至整個線網(wǎng)被識別為止。
現(xiàn)在對該處理的每一階段加以詳述。
線網(wǎng)的識別首先是從建立種子段開始的。種子段是一線段,它沒有交叉而且畸變最小,即它是一個有方向和寬度的線段。
從遇到的第一個黑像素開始,利用預(yù)定的算法可以確定該線的某一段處于預(yù)定限度以內(nèi)使之在那點沒有交叉而且噪聲畸變水平最小。
當中央處理器遇到第一個黑像素時,以第一黑像素為中心產(chǎn)生一連串方塊。方塊的最小大小是最大線寬的二倍。假如在位圖和具有大約相同長度的方塊之間存在一組相鄰的交叉,交叉的中心點將確定形成種子段的點的長方形區(qū)的長軸。
用這種方法可以判別出沒有畸變或畸變最小和沒有交叉的一線段。這種子段的較長軸表示該線的方向,而種子段的較短軸的長度表示該線的寬度。
建立種子段之后,中央處理器則利用Bresenhan線轉(zhuǎn)換算法跟蹤位圖,在該線的路徑上在兩個方向生成點位以提高效率。跟蹤路徑從種子段長軸方向的種子段中心點開始,并且只要路徑點上存在有黑像素而垂直運行的長度接近或長于種子段的寬度,就向該線的兩個方向加以延伸。
假如跟蹤遇到了白像素,中央處理器計算該白像素的長度。如果白段的長度大于預(yù)定長度,其跟蹤將在該方向終止。
為了調(diào)整線徑方向,采用垂直試驗算法。利用Bresenhan算法,通過現(xiàn)行線徑上的點生成一組掃描線,該現(xiàn)行線徑通過種子段中心并且與種子段的長軸垂直。假如垂直掃描線被點等則線徑是正確的,否則中央處理器將調(diào)整線徑直至正確的線徑被確定為止。線徑的掃描長度是種子段寬度的三倍。在線徑方向調(diào)整之后,中央處理器則跟蹤該線直至它的終點。
因為跟蹤的方向被確定,交叉不會影響對來自種子段的線的跟蹤。假如在整個跟蹤路徑上只有一個黑段,則它被為是實線。假如不是這樣,中央處理器分析黑段和白段的規(guī)律性以確定是否存在虛線。
中央處理器同時還分析沿被矢量化的線上的垂直運行以探測該線上的交叉。如果垂直運行的大小連續(xù)大于閾值,即該種子段的寬度,即確定一個交叉點。交叉的垂直大小的變化隨不同的交叉而異。交叉分成三類,即垂直交叉,斜交叉和復(fù)雜交叉。垂直交叉和斜交叉分別指示垂直交叉線和斜交叉線。復(fù)雜交叉線則指示其它的暗示情況,例如字母或符號或有時更為復(fù)雜。每種交叉的細節(jié)連同在它周圍探測到的信息由中央處理器儲存在各自的先進后出的堆棧內(nèi)。
為了避免已經(jīng)被矢量化的位圖的重復(fù)使用,一旦線被矢量化,對應(yīng)于該矢量化線的位圖即完全從圖像中抹掉。
然后中央處理器分析交叉的特點以確定位像的哪部分該抹掉。利用線分析的這種結(jié)果,沒有交叉的該線的那些部分被完全抹掉,而只有具有交叉的那些部分被留下來。
假如垂直交叉或斜交叉只存在于線的一側(cè),則該線沒有交叉的一半從整條線上抹掉。
假如在線的兩側(cè)存在有垂直交叉或斜交叉,則被探測到的該線部分用該線每部分上的分支輪廓確定。例如,該輪廓表明在左手方向該線的頂部的線是斜線,而在右手方向該線的底部是斜線,則該第一斜線中點以下的線被抹掉和第二斜線中點之上的線被抹掉。
通過抹去被矢量化的線段,剩下需要處理的只是交叉,然后對每一交叉加以處理即得到如下所述的線網(wǎng)。因此在矢量化期間圖像數(shù)據(jù)被逐漸簡化,矢量化的難度也就隨之降低。
中央處理器然后按垂直交叉,斜交叉和最后為復(fù)雜交叉的順序檢查所有交叉類型。在每一交叉點,中央處理器以上面描述的方式跟蹤交叉線。
按照獲得的線的方向和寬度的效率高低,將不同的優(yōu)先等級賦予給每種交叉。垂直交叉的優(yōu)先等級最高,因為它的方向和寬度已經(jīng)存在。斜交叉的優(yōu)先為次,因為它的方向必須加以探測。復(fù)雜交叉的優(yōu)先等級最低,因為必須再次實行對種子段的探測。知道在一個線網(wǎng)中有可能多于一次交叉,這種優(yōu)先等級確保一個線網(wǎng)將以最快的方式實現(xiàn)矢量化。
在沒有交叉線的地方線網(wǎng)矢量化完成之后,中央處理器確保對新的種子段實行光柵圖像掃描。
線網(wǎng)可以通過識別線和交叉線而完成。由于對光柵圖像內(nèi)線網(wǎng)識別的結(jié)果可以使圖像矢量化,由此產(chǎn)生可以使用和操作的圖形圖像。
附圖概述參照附圖現(xiàn)在對處理方法加以描述圖1所示為線網(wǎng)流程圖;圖2所示為整個線網(wǎng)矢量化的流程圖;圖3所示為在一條線上定位種子段的算法;圖4所示為跟蹤線徑的算法;圖5所示為具有各種交叉的線;圖6所示為線中矢量化部分被刪除后的該線;圖7所示為用位圖表示的一種簡單的線網(wǎng);圖8a-g所示為在線網(wǎng)中第一條線矢量化的結(jié)果和沿該線探測到的每種交叉。
發(fā)明詳述圖3所示為帶有垂直線(2)的斜線(1)的放大部分。在第一黑像素處(3),中央處理器生成一連串的方塊(4)和(5)。最小方塊(4)的大小是線(1)寬度的2倍。如果中央處理器確定在位圖和具有相同或相近長度(6)的方塊之間有一組鄰近的交叉,則交叉的中心點將確定形成種子段的點的長方形區(qū)的長軸。
圖4所示為被中央處理器按上述處理方法確定的種子段(7)。中央處理器沿現(xiàn)在線徑(9)生成一組掃描線(8),該組掃描線與種子段的縱軸垂直。假如垂直運行(10)被點等分,則線徑被設(shè)想為正確的。
圖5所示為已被識別的線(11)。在線中探測到各種交叉(12),中央處理器則進一步分析這些交叉以確定其交叉類型。為了進一步分析其交叉,中央處理器確定該線的中心軸(13)。
從圖6可見,一旦該線被識別,線中已經(jīng)被識別的部分和沒有交叉的部分(15)被抹掉。在有交叉的地方(12),根據(jù)交叉的類型和交叉是否在該線中心軸(13)一側(cè)或兩側(cè)而抹去被識別線的合適部分。當只有被識別線的一側(cè)有交叉時(14),跟隨交叉輪廓而將該線下面的區(qū)域抹去(16)。
圖7所示為線網(wǎng)中第一條線矢量化結(jié)果和沿該線探測到的交叉類型。
圖8a所示灰線(17)是光柵圖像,而底部的黑線(18)是抹去了相應(yīng)的位圖后的矢量化線。沿矢量化線找到的各種交叉點(19,20和21)分別是斜交叉,復(fù)雜交叉和垂直交叉。
圖8b-8f所示為按順序每一相繼線(18)的矢量化。這一順序是由推入堆棧中的交叉順序確定的。
圖8g所示為一旦位圖中的線被識別,則對應(yīng)于線的位圖將從圖像中抹去。根據(jù)這一原則,符號和字母串可以按預(yù)先定義的算法識別而不受線的干擾。
權(quán)利要求
1.一種用于位像完整矢量化的計算機自動處理,其中用合適指令編程的計算機的中央處理器對位像中的線和與位像中的線相關(guān)連的交叉和形狀進行分析,然后按預(yù)先定義的算法順序?qū)ζ涮幚硪援a(chǎn)生這些線以及與這些線相關(guān)連的所有交叉和形狀的完整的矢量化圖像。
2.如權(quán)利要求1的計算機自動處理,其中中央處理器根據(jù)預(yù)定的算法順序?qū)ξ幌裰械拿恳缓谙袼丶右苑治鲆源_定一線段,該線段沒有交叉和由于噪聲引起的畸變處于預(yù)定限之內(nèi)。
3.如權(quán)利要求2的計算機自動處理,其中中央處理器從沒有交叉的第一個黑像素開始對線段掃描,在該線的每一方向上由于噪聲引起的畸變在預(yù)定的限度以內(nèi),該線的位置,長度和方向按預(yù)定的算法確定,然后將該線的位置,長度和方向轉(zhuǎn)換成矢量以產(chǎn)生對應(yīng)于位像的該線矢量化圖像。
4.如上面權(quán)利要求3所要求的計算機自動處理,其中中央處理器根據(jù)預(yù)定算法分析沿該線探測到的所有交叉線,根據(jù)預(yù)定算法確定交叉線的方向,位置和長度,然后將交叉線的方向,位置和長度轉(zhuǎn)換成矢量以產(chǎn)生與位像相對應(yīng)的交叉線的矢量化圖像。
5.如上面權(quán)利要求4所要求的計算機自動處理,其中所有被中央處理器從位像探測到的線和與該線相關(guān)連的交叉一旦它們被中央處理器矢量化后即從位像中刪除,中央處理器重復(fù)上面所要求的整個處理以使隨后所有的線和交叉線矢量化。
全文摘要
一種用于將光柵圖像矢量化以產(chǎn)生可被CAD軟件操作的可用圖形的計算機自動處理。本處理方法利用包含在光柵圖像中的圖形元素之間的幾何關(guān)系并在矢量化處理期間將圖形元素作為整體加以保留。本處理方法不僅識別整條線,同時還識別與之交叉的所有線。該處理方法要用合適指令編程的計算機中央處理器以分析在位像中找到的線,以及與位像中該線相關(guān)連的所有交叉和形狀,然后根據(jù)預(yù)先定義的算法處理其信息以產(chǎn)生可使用的圖形圖像文件。當每條線被識別時,它被矢量化,然后從其位像中刪除以加速矢量化處理。
文檔編號G06T3/00GK1333511SQ0112311
公開日2002年1月30日 申請日期2001年7月13日 優(yōu)先權(quán)日2000年7月14日
發(fā)明者T·C·C·王 申請人:緯衡知識產(chǎn)權(quán)有限公司