專利名稱:把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法和裝置的制作方法
技術領域:
本發(fā)明涉及CAD(計算機輔助設計)和數(shù)字圖形圖像處理。
背景技術:
現(xiàn)今工業(yè)圖紙設計過程中,CAD軟件得到了廣泛使用,CAD軟件多以矢量化方式表 達幾何元素。為了滿足生產(chǎn)的需要,與CAD軟件系統(tǒng)配套的還有大量可以將圖紙進行1 1 輸出的輸出設備。這些設備通常僅支持矢量數(shù)據(jù)接口(如寬幅繪圖儀)。某些情況下,在以矢量數(shù)據(jù)為主體的圖紙數(shù)據(jù)中,需要加入部分位圖數(shù)據(jù)作為示 意符號。由于輸出設備多是矢量化的,因而導致這些位圖數(shù)據(jù)無法輸出。目前解決方法有 三種1 用光柵輸出設備將位圖單獨打印,然后與矢量輸出結(jié)果一起交付。這種方法增 加了人工干預,很不方便。2:手工繪制矢量化圖形,表達原始位圖,并把這一矢量化結(jié)果加入到CAD數(shù)據(jù)中。 這種方法增加了人的工作量,而且對使用者的繪畫水平提出較高要求。3:使用傳統(tǒng)的針對輪廓線條的位圖矢量化算法完成位圖的矢量化,并把轉(zhuǎn)換結(jié)果 加入到CAD數(shù)據(jù)中。但是這種算法的局限性在于,不能處理由色塊組成的位圖。
發(fā)明內(nèi)容
本發(fā)明的發(fā)明目的之一是提供一種使用簡單可靠的方法和裝置,對任意基于位圖 表達的圖像轉(zhuǎn)為用矢量陰影線表達。本發(fā)明的發(fā)明目的之二是,使上述用矢量陰影線表達的圖能在單色的矢量設備 上,用以白色或黑色為底色的紙張打印出來。這里矢量設備這個詞是個邏輯概念,除了打印 設備是矢量設備,對于很多軟件來說,它是建立在一個技術平臺之上的,這既是技術平臺也 是矢量設備,比如基于OpenGL技術開發(fā)的軟件。為了達到上述目的,本發(fā)明提供如下技術方案把位圖表達的圖轉(zhuǎn)為矢量陰影線 表達的圖的方法,包括如下步驟生成與原始位圖一樣大小的過濾網(wǎng)格;生成中間位圖,即 用所述原始位圖與所述過濾網(wǎng)格作并集運算,如果運算結(jié)果為真的像素滿足亮度要求,則 作為保留像素;生成矢量陰影線圖,即在所述中間位圖中搜索同色相鄰點,并把它們擬合為 一條矢量線,將所有像素都擬合后,根據(jù)原始位圖的實際尺寸進行比例變換。所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,還包括如下步驟將原 始位圖進行顏色歸一化處理。由于掃描圖片時產(chǎn)生的各種噪聲或者圖片生成軟件增加的特 殊的渲染效果,使得從人的視覺感受角度來講連通的區(qū)域(兩點相鄰且顏色相同稱之為連 通),位圖的相應點集顏色數(shù)據(jù)不相同。這會導致最后得到的矢量陰影線數(shù)據(jù)量大大增加。 因為本發(fā)明的目的是最終得到的陰影線只需要和原圖神似,所以通過顏色歸一化,以可接 受的細節(jié)損失換取最終矢量數(shù)據(jù)的大大減少。顏色歸一化首先使用常見的濾波方法去除噪 聲,如中值濾波,均值濾波,小波濾波等。然后針對濾波后位圖中存在的顏色值進行統(tǒng)計,根據(jù)統(tǒng)計結(jié)果和系統(tǒng)允許的色差閥值,選定若干種顏色,把位圖中不是選定顏色的點,用最接近的選定色替換。從而減少顏色數(shù)并擴大連通區(qū)域。所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,包括如下步驟將原 始位圖進行清除底色處理。只有那些底色為深色的位圖才有可能需要進行清除底色處理, 因為這樣的位圖不適合在使用白色紙張的矢量打印設備上輸出。因為本發(fā)明的一個重要目 的在于在紙張上打印,所以導致通常白色作為底色;所以本步驟是為了這個目的而設置的。 在某種特定的條件下,底色也可能是黑色,則所有的矢量線顏色都要取反。所述將原始位圖進行清除底色處理包括如下步驟,在原始位圖上選定一個區(qū)域, 判定與選定區(qū)域連通的區(qū)域均為底色,使用白色替代之,多次進行這個步驟,直至底色被全 部清除為止。所謂生成過濾網(wǎng)格步驟中的過濾網(wǎng)格與日常生活中的網(wǎng)類似,這張網(wǎng)決定了最終 結(jié)果矢量陰影線的密度和分布。因此產(chǎn)生前要選擇所述過濾網(wǎng)格的密度和編織形式,這種 選擇既可以由操作人員決定,也可以根據(jù)實際情況自動優(yōu)化決定。所述過濾網(wǎng)格的密度選 擇原理為如果過濾網(wǎng)格太稀,則結(jié)果的視覺效果欠佳;如果過濾網(wǎng)格太密,則導致矢量數(shù) 據(jù)量過大,對今后的處理不利;因此,所述過濾網(wǎng)格的最大密度,應該與原始位圖的行(列) 數(shù)一致,則產(chǎn)生無損的矢量陰影線。所述生成過濾網(wǎng)格的步驟中,考慮到結(jié)果的視覺效果應該符合人的習慣,所述過 濾網(wǎng)格以多條單一水平直線生成的過濾網(wǎng)格為最佳。這種編織形式只要產(chǎn)生一組與位圖等 寬的水平等距直線,直線間的距離根據(jù)網(wǎng)格密度決定,直線數(shù)量等于位圖高度除以直線間 距離。所述生成過濾網(wǎng)格的步驟中,所述過濾網(wǎng)格也可與日常生活中的網(wǎng)類似,由經(jīng)線 和緯線編織而成??紤]到位圖的離散特性,所述過濾網(wǎng)格的經(jīng)線和緯線的優(yōu)選為水平直線 和垂直直線;也可為左45度和右45度斜線。所述生成中間位圖步驟中,所述滿足亮度要求的判斷,通過設定一亮度閥值來完 成,該亮度閥值與所述原始位圖的亮度和底色有關,該亮度閥值介于原始位圖的主要前景 平均亮度和主要背景平均亮度之間。由于很多矢量設備是單色的,導致了實際可用的顏色 只有兩種黑,白。而足夠亮的顏色是不用描繪的,直接用紙張的白色表達,因此亮度閥值的 大小決定了哪些顏色用黑色代替,哪些顏色用白色代替。所述亮度閥值的選擇可以由使用者自己決定,并通過計算機實時計算并顯示結(jié) 果,幫助使用者選擇最佳閥值。所述生成中間位圖步驟中,還包括將所述中間位圖做二值化處理的步驟,即將中 間位圖處理成只有黑白兩色的位圖。一種把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的裝置,包括存儲單元,用于存儲 基于位圖表達的原始位圖;生成過濾網(wǎng)格單元,用于生成與原始位圖一樣大小的過濾網(wǎng)格; 生成中間位圖單元,用于將所述原始位圖與所述過濾網(wǎng)格作并集運算,如果運算結(jié)果為真 的像素滿足亮度要求,則作為保留像素;擬合單元,用于在所述中間位圖中搜索同色相鄰 點,并把它們擬合為一條矢量線;生成矢量陰影線圖像單元,用于將所有的中間位圖的像素 都擬合,并根據(jù)原始位圖的實際尺寸進行比例變換。所述基于位圖表達的圖像轉(zhuǎn)化為基于矢量陰影線表達的圖像的裝置還包括圖像顏色歸一化處理單元,用于減少原始位圖的顏色數(shù)并擴大連通區(qū)域。如果原始位圖是一張 純凈的位圖或者只想得到單色陰影線,則這一單元可以省略。由于掃描圖片時產(chǎn)生的各種 噪聲或者圖片生成軟件增加的特殊的渲染效果,使得從人的視覺感受角度來講連通的區(qū)域 (兩點相鄰且顏色相同稱之為連通),位圖的相應點集顏色數(shù)據(jù)不相同。這會導致最后得 到的陰影線數(shù)據(jù)量大大增加。因為我們最終得到的陰影線只需要和原圖神似,通過顏色歸 一化,以可接受的細節(jié)損失換取最終矢量數(shù)據(jù)的大大減少。顏色歸一化首先使用常見的濾 波方法去除噪聲,如中值濾波,均值濾波,小波濾波等。然后針對濾波后位圖中存在的顏色 值進行統(tǒng)計,根據(jù)統(tǒng)計結(jié)果和系統(tǒng)允許的色差閥值,選定若干種顏色,把位圖中不是選定顏 色的點,用最接近的選定色替換。 所述基于位圖表達的圖像轉(zhuǎn)化為基于矢量陰影線表達的圖像的裝置還包括清除 底色單元,用于將那些底色為深色的位圖進行清除底色處理,因為這樣的位圖不適合在使 用白色紙張的矢量打印設備上輸出。本單元可以采用如下流程使用者選定一個區(qū)域,則系 統(tǒng)可以判定與選定區(qū)域連通的區(qū)域均為底色,使用白色替代之。如果需要使用者可以多次 進行這個步驟,直至底色被全部清除為止。所述生成過濾網(wǎng)格單元包括選擇單元,用于幫助使用者選擇網(wǎng)格的最佳編織方式 和密度。所述生成中間位圖單元包括亮度閥值選擇單元,用于幫助使用者選擇最佳閥值, 先由使用者自己在原始位圖的主要前景平均亮度和主要背景平均亮度之間,決定亮度閥值 的選擇,并通過計算機實時計算并顯示結(jié)果,然后使用者根據(jù)顯示結(jié)果繼續(xù)選擇直到滿意結(jié)果。所述生成中間位圖單元包括二值化處理單元,用于將所述中間位圖處理成只有黑 白兩色的位圖。這個單元的目的是,如果要得到的是單色陰影線,需要將中間位圖做二值化處理。本發(fā)明的有益效果在于算法穩(wěn)定可靠,對于任意位圖,都可以得到與原始位圖 觀感相似的矢量陰影線表達的圖像。而矢量陰影線表達的圖像非常適合在CAD系統(tǒng)中進行 處理,而且不會給CAD系統(tǒng)帶來額外的負擔;同時還可以在任意支持矢量數(shù)據(jù)接口的設備 上輸出和打印。
圖1為采用了本發(fā)明方法的實施例1的總的程序方框示意圖;圖2為圖1中的顏色歸一化和清除底色步驟的具體處理的程序方框示意圖;圖3為圖1中的生成中間位圖步驟的具體處理的程序方框示意圖;圖4為圖1中的生成矢量陰影線步驟的具體處理的程序方框示意圖;圖5為圖1中的生成與原始位圖一樣大小的過濾網(wǎng)格的示意圖;圖6為本發(fā)明實施例1的原始位圖的圖像;圖7為圖6經(jīng)過顏色歸一化處理后的圖像;圖8為圖6經(jīng)過如圖5所示的過濾網(wǎng)格處理后的圖像;所述過濾網(wǎng)格的密度值為2 ;圖9為圖6經(jīng)過如圖5所示的過濾網(wǎng)格處理后的圖像;所述過濾網(wǎng)格的密度值為3 ;圖10為本發(fā)明實施例2的原始位圖的圖像;
圖11為圖10經(jīng)過濾網(wǎng)格處理后的圖像;所述過濾網(wǎng)格的密度值為3 ;圖12為圖10經(jīng)過本發(fā)明的方法處理后最終得到的矢量陰影線圖像。
具體實施方式
下面結(jié)合附圖和實施例進一步說明本發(fā)明如圖1所示,說明了把位圖表達的圖 轉(zhuǎn)為矢量陰影線表達的圖的方法,包括如下步驟第一步,判斷原始位圖是不是純凈的位 圖,是,則進入第三步,否則進入第二步,將原始位圖進行顏色歸一化處理;第三步,判斷原始位圖的底色是不是白色,是,則進入第五步,否,則進入第四步, 將原始位圖進行清除底色處理;第五步,生成與原始位圖一樣大小的過濾網(wǎng)格,如圖5所示;然后用所述原始位圖 與所述過濾網(wǎng)格作并集運算,生成中間位圖,如果運算結(jié)果為真的像素滿足亮度要求,則作 為保留像素;最后生成矢量陰影線圖,即在所述中間位圖中搜索同色相鄰點,并把它們擬合 為一條矢量線,將所有像素都擬合后,根據(jù)原始位圖的實際尺寸進行比例變換。如圖2所示,說明了本發(fā)明顏色歸一化和清除底色步驟的具體流程,第一步,將原 始位圖的原始數(shù)據(jù),統(tǒng)計各個顏色的點數(shù);第二步,根據(jù)點數(shù)對顏色由大到小排序;第三步,保留點數(shù)占總點數(shù)百分比足夠大的若干種顏色,作為保留色,第一個未處 理顏色為當前顏色;第四步,判斷當前顏色是否與已保留顏色中的一種色差足夠小?否,則進行第五 步,是,則所有這種顏色的點都被替換為找到的那個已保留色,然后進入第七步;第五步,判斷這個顏色的點數(shù)是否足夠多;是,則將這種顏色作為新的保留色,將 然后進入第六步;否,則將這種顏色替換為底色(白色),然后進入第六步;第六步,判斷是否所有的顏色都處理完了,是,則結(jié)束;否,則將下一個未處理顏色 作為當前顏色,回到第四步。如圖3所示,說明了本發(fā)明生成中間位圖步驟的具體流程。第一步,將經(jīng)過清除底色和顏色歸一化處理后的數(shù)據(jù),判斷當前點在過濾網(wǎng)格 (圖)中的相同位置點是黑色(代表保留)么?是,則進入第二步;否,則將中間位圖的相 同位置設為白色,進入第三步;第二步,判斷當前點的亮度值在操作者選擇的保留范圍之內(nèi)么?是,則進入第三 步,否,則將中間位圖的相同位置設為白色,進入第三步;第三步,判斷,所有的點都處理完了么?是,則進入第四步,否,則回到第一步;第四步,判斷,要得到彩色矢量陰影線么?否,則將中間位圖中的所有非白色點都 改為黑色,進入第五步,是,則直接進入第五步。第五步,結(jié)束。如圖4所示,說明了本發(fā)明生成矢量陰影線圖步驟的具體流程。第一步,將前面步驟得到的中間位圖,判斷,中間位圖中還存在非底色點么?否, 則直接結(jié)束;是,則進入第二步;第二步,把這個點作為當前點;顏色改為底色;并把點坐標壓入堆棧;第三步,判斷,這個點的相鄰點中是否有與這個點顏色相同的,是,則返回第二步, 否,則把堆棧中的點列擬合為一條矢量線,清空點坐標堆棧。
實施例1,原始位圖如圖6所示,需要一張彩色矢量陰影線圖。因為原始位圖是一張掃描圖,含有一部分噪聲點,首先進行中值濾波,然后進行顏色歸一化,通過調(diào)整閥值,從 這張原來有66325種RGB值的位圖,獲得如附圖7所示的位圖,這張純凈位圖只包含54種 顏色。然后,生成水平直線編織的過濾網(wǎng)格,網(wǎng)格的密度根據(jù)對清晰度的要求而定。在本 實施例中,如果密度值選擇2,可以得到附圖8的效果;如果密度值選擇3,可以得到附圖9 的效果,很明顯附圖8的清晰度比附圖9好很多,但是同時數(shù)據(jù)量也大增,清晰度和壓縮數(shù)
據(jù)是一對矛盾。最后,在得到的中間位圖基礎之上,通過調(diào)整保留像素的亮度閥值,獲得最終的矢 量陰影線。因為這張老虎有大量的毛發(fā),色彩對比不強烈。所以這個閥值的選定就要反復 調(diào)整,否則很容易丟失細節(jié),實施例2,原始位圖如附圖10,需要一張單色矢量陰影線圖。這是一張純凈位圖, 可以不進行顏色歸一化,但是它的原始底色是黑色,而使用者的最終目的是打印到紙上,因 此黑色的底色就不合適了,所以要先清除底色。獲得如附圖11的等效位圖。然后,生成水平直線編織的過濾網(wǎng)格,網(wǎng)格的密度根據(jù)最終打印大小確定,密度值 選擇3。最終得到的彩色陰影線效果如附圖11。最后,在得到的中間位圖基礎之上,通過調(diào)整保留像素的亮度閥值,獲得最終的矢 量陰影線圖如附圖12。因為這張米老鼠是由簡單大色塊組成的,色彩對比強烈。所以這個 閥值的選定就比較容易,否則很容易丟失細節(jié),雖然本發(fā)明的優(yōu)選實例被以作為例證的目的進行披露,但本領域的技術人員可以 理解各種修改、添加和替換是可能的,只要其不脫離所附權利要求中詳述的本發(fā)明的精神 和范圍。
權利要求
把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,包括如下步驟生成與原始位圖一樣大小的過濾網(wǎng)格;生成中間位圖,即用所述原始位圖與所述過濾網(wǎng)格作并集運算,如果運算結(jié)果為真的像素滿足亮度要求,則作為保留像素;生成矢量陰影線圖,即在所述中間位圖中搜索同色相鄰點,并把它們擬合為一條矢量線,將所有像素都擬合后,根據(jù)原始位圖的實際尺寸進行比例變換。
2.根據(jù)權利要求1所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征在 于,包括如下步驟將原始位圖進行顏色歸一化處理。
3.根據(jù)權利要求2所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征在 于,所述顏色歸一化處理包括如下步驟首先使用濾波方法去除噪聲然后針對濾波后位圖 中存在的顏色值進行統(tǒng)計,根據(jù)統(tǒng)計結(jié)果和系統(tǒng)允許的色差閥值,選定若干種顏色,把位圖 中不是選定顏色的點,用最接近的選定色替換。
4.根據(jù)權利要求1或2所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,包括 如下步驟將原始位圖進行清除底色處理。
5.根據(jù)權利要求4所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征在 于,所述將原始位圖進行清除底色處理包括如下步驟,在原始位圖上選定一個區(qū)域,判定與 選定區(qū)域連通的區(qū)域均為底色,使用白色替代之,多次進行這個步驟,直至底色被全部清除 為止。
6.根據(jù)權利要求1所述的把把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征 在于,所述生成過濾網(wǎng)格的步驟中,所述過濾網(wǎng)格以多條單一水平直線生成的過濾網(wǎng)格為最佳。
7.根據(jù)權利要求1所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征在 于,所述生成過濾網(wǎng)格的步驟中,所述過濾網(wǎng)格與日常生活中的網(wǎng)類似,由經(jīng)線和緯線編織 而成。
8.根據(jù)權利要求7所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征在 于,所述過濾網(wǎng)格的經(jīng)線和緯線為水平直線和垂直直線。
9.根據(jù)權利要求7所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征在 于,所述過濾網(wǎng)格的經(jīng)線和緯線為左45度和右45度斜線。
10.根據(jù)權利要求1所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征 在于,所述生成中間位圖步驟中,所述滿足亮度要求的判斷,通過設定一亮度閥值來完成, 該亮度閥值的取值與所述原始位圖的亮度和底色有關,該亮度閥值介于原始位圖的主要前 景平均亮度和主要背景平均亮度之間。
11.根據(jù)權利要求10所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征 在于,所述亮度閥值的選擇由使用者自己決定,并通過計算機實時計算并顯示結(jié)果,幫助使 用者選擇最佳閥值。
12.根據(jù)權利要求1所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,其特征 在于,所述生成中間位圖步驟中,還包括將所述中間位圖做二值化處理的步驟,即將中間位 圖處理成只有黑白兩色的位圖。
13.—種把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的裝置,包括存儲單元,用于存儲 基于位圖表達的原始位圖;生成過濾網(wǎng)格單元,用于生成與原始位圖一樣大小的過濾網(wǎng)格;生成中間位圖單元,用于將所述原始位圖與所述過濾網(wǎng)格作并集運算,如果運算結(jié)果為真 的像素滿足亮度要求,則作為保留像素;擬合單元,用于在所述中間位圖中搜索同色相鄰 點,并把它們擬合為一條矢量線;生成矢量陰影線圖像單元,用于將所有的中間位圖的像素 都擬合,并根據(jù)原始位圖的實際尺寸進行比例變換。
14.根據(jù)權利要求13所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的裝置,其特征 在于,還包括圖像顏色歸一化處理單元,即首先使用濾波方法去除噪聲,然后針對濾波后原 始位圖中存在的顏色值進行統(tǒng)計,根據(jù)統(tǒng)計結(jié)果和系統(tǒng)允許的色差閥值,選定若干種顏色, 把原始位圖中不是選定顏色的點,用最接近的選定色替換。
15.根據(jù)權利要求13所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的裝置,其特征 在于,還包括清除底色單元,即在原始位圖上選定一個區(qū)域,判定與選定區(qū)域連通的區(qū)域均 為底色,使用白色替代之,多次進行這個步驟,直至底色被全部清除為止。
16.根據(jù)權利要求13所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的裝置,其特征 在于,所述生成過濾網(wǎng)格單元包括選擇單元,用于幫助使用者選擇網(wǎng)格的最佳編織方式和也/又。
17.根據(jù)權利要求13所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的裝置,其特征 在于,所述生成中間位圖單元包括亮度閥值選擇單元,用于幫助使用者選擇最佳閥值,先由 使用者自己在原始位圖的主要前景平均亮度和主要背景平均亮度之間,決定亮度閥值的選 擇,并通過計算機實時計算并顯示結(jié)果,然后使用者根據(jù)顯示結(jié)果繼續(xù)選擇直到滿意結(jié)果。
18.根據(jù)權利要求13所述的把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的裝置,其特征 在于,所述生成中間位圖單元包括二值化處理單元,用于將所述中間位圖處理成只有黑白 兩色的位圖。
全文摘要
一種把位圖表達的圖轉(zhuǎn)為矢量陰影線表達的圖的方法,包括如下步驟生成與原始位圖一樣大小的過濾網(wǎng)格;生成中間位圖,即用所述原始位圖與所述過濾網(wǎng)格作并集運算,如果運算結(jié)果為真的像素滿足亮度要求,則作為保留像素;生成矢量陰影線圖,即在所述中間位圖中搜索同色相鄰點,并把它們擬合為一條矢量線,將所有像素都擬合后,根據(jù)原始位圖的實際尺寸進行比例變換。
文檔編號G06T3/00GK101957998SQ20101050146
公開日2011年1月26日 申請日期2010年10月9日 優(yōu)先權日2010年10月9日
發(fā)明者張繼生 申請人:深圳市布易科技有限公司