新四季網

點陣字型的邊緣平滑方法、縮放方法與其記錄媒體的製作方法

2023-05-02 22:33:31 2

專利名稱:點陣字型的邊緣平滑方法、縮放方法與其記錄媒體的製作方法
技術領域:
本發明是有關於一種邊緣平滑方法、影像縮放(scale)方法與其記錄媒體,且特別是有關於一種點陣字型邊緣平滑方法、點陣(bitmap)字型(font)縮放方法與其記錄媒體。
背景技術:
點陣字型(bitmap font)是最早提出的字型種類,其易於使用、多樣化、美觀等多種特性使得點陣字型用途廣泛,但依比例縮放(scale)字型時會破壞字型的結構,而造成視覺上品質降低。因此,早先的解決方式便為每種尺寸大小都準備一套對應的點陣字體,使得字型的視覺品質能夠保持完美,因此便增加了點陣字型的內存容量。為了降低點陣字型的內存容量,便出現了點陣字型的縮放技術,點陣字型縮放技術是指依據單一尺寸的點陣字型利用算法及查表等方式來將字型縮放至適合的尺寸,使得這些字型在縮放後不失真,使其顯示於尺寸不同的屏幕上,或列印文件時使得縮放後的字型具有高度視覺品質,適用於內存容量較小的可攜式電子裝置或顯示屏幕上。目前已有許多現有技術可供參考,如美國專利公開案編號2008/0068384所述維護字型結構白勺方: (method and apparatus for preserving font structure) 0] ^ ^ 複雜的字型筆劃削除其邊緣,僅留筆劃中央細線以保持其字型特徵,將筆劃的中央細線向量化以取得筆劃端點,禾_筆劃端點縮放到適當位置,再將筆劃端點相連便完成縮放。上述方法主要用於點陣字的縮小,但卻少有既可隨意放大點陣字又可使其字體邊緣平滑的點陣字縮放方法。

發明內容
本發明提供一種點陣字型的邊緣平滑方法,可通過關鍵點及這些關鍵點組成的斜線角度將筆劃邊緣作平滑化以防止鋸齒。本發明另提供一種點陣字型的縮放方法,可在縮放點陣字型時通過關鍵點及這些關鍵點組成的斜線角度將筆劃邊緣作平滑化以防止鋸齒,並且維持水平與垂直方向主要筆劃的像素,不致使主要筆劃模糊。本發明提出一種點陣字型的邊緣平滑方法,包括下列步驟。首先,取得在來源點陣字內的每一待測像素以及與待測像素相鄰的上方相鄰像素值、下方相鄰像素值、左方相鄰像素值與右方相鄰像素值。當上方相鄰像素值不等於下方相鄰像素值,而且左方相鄰像素值不等於右方相鄰像素值時,此待測像素便是多個關鍵點之一。接著,依據目標倍率、關鍵點與關鍵點組成的斜線角度將來源點陣字作內插處理,以產生平滑點陣字。依另一觀點而言,本發明提出一種點陣字型的縮放方法,包括下列步驟。首先,從來源點陣字中區別出主要筆劃區域。其次,依據目標倍率將主要筆劃區域作映射(mapping) 縮放,以產生主要筆劃點陣字。接著,取得在來源點陣字內的每一個待測像素以及與待測像素相鄰的上方相鄰像素值、下方相鄰像素值、左方相鄰像素值與右方相鄰像素值,當上方相鄰像素值不等於下方相鄰像素值,而且左方相鄰像素值不等於右方相鄰像素值時,將此待測像素視為關鍵點。然後,依據目標倍率、關鍵點與關鍵點組成的斜線角度將來源點陣字作內插處理,以產生平滑點陣字。最後,依據主要筆劃點陣字和平滑點陣字來產生目標點陣字。在本發明的一實施例中,依據目標倍率、關鍵點與關鍵點所組成的斜線角度將來源點陣字作內插處理以產生平滑點陣字的步驟包括下列程序。首先,當來源點陣字內的來源像素是上述關鍵點之一時,依據來源像素與其相鄰像素以計算出第一斜線角度與第二斜線角度。其次,依據由目標倍率以四捨五入法取得的整數倍率來放大來源像素,藉此取得平滑點陣字內的映射區域。接著,利用整數倍率、第一斜線角度與第二斜線角度來計算並填入映射區域內的每一個映射像素的像素值,其中這些映射像素的像素值位於第一默認值與第二默認值之間。否則,當來源像素不屬於上述的關鍵點時,依據整數倍率來放大來源像素, 而取得平滑點陣字內的映射區域,並將映射區域內所有的映射像素的像素值填入來源像素的像素值。在本發明的一實施例中,依據來源像素與其相鄰像素以計算出第一斜線角度的步驟包括下列程序。首先,取得與來源像素相鄰的第一至第八像素,這些像素依順時針方向圍繞來源像素來定序,第一像素位於來源像素的上方、下方、左方、右方其中之一,第一像素與第三像素的像素值等於第一默認值,第五像素與第七像素的像素值為第二默認值。當第八像素的像素值為第一默認值時,利用具有來源像素的第一次區域與具有第一像素的第二次區域來計算第一斜線角度,其中第一次區域與第二次區域平行於來源像素至第三像素的方向。否則,當第八像素的像素值為第二默認值時,利用具有來源像素的第三次區域與具有第七像素的第四次區域來計算第一斜線角度,其中第三次區域與第四次區域平行於來源像素至第一像素的方向。在本發明的一實施例中,利用第一次區域與第二次區域來計算第一斜線角度的步驟包括下列程序。首先,取得第二次區域的第一像素至第八像素方向的端點像素,其中來源像素與端點像素的水平距離為X,來源像素與端點像素的垂直距離為Y。其次,若第一次區域的延伸方向為水平方向,當X大於第一次區域的長度時,第一斜線角度為零度角,否則, 第一斜線角度為arctan(Y/X)。若第一次區域的延伸方向為垂直方向,當Y大於第一次區域的長度時,第一斜線角度為90度角,否則,第一斜線角度為arctan(Y/X)。在本發明的一實施例中,利用第三次區域與第四次區域來計算第一斜線角度的步驟包括下列程序。首先,取得第四次區域的第七像素至第八像素方向的端點像素,其中來源像素與端點像素的水平距離為X,來源像素與端點像素的垂直距離為Y。其次,若第三次區域的延伸方向為水平方向,當X大於第三次區域的長度時,第一斜線角度為零度角,否則, 第一斜線角度為arctan (Y/ (X+l))。若第三次區域的延伸方向為垂直方向,當Y大於第三次區域的長度時,第一斜線角度為90度角,否則,第一斜線角度為arctan ((Y+l) /X)。在本發明的一實施例中,依據主要筆劃點陣字和平滑點陣字以產生目標點陣字的步驟包括下列程序。首先,依據目標倍率將目標點陣字內的目標像素作映射,以取得來源點陣字的來源位置。其次,當相鄰來源位置的預設數量的像素至少包括上述關鍵點其中之一時,依據與目標倍率所對應的整數倍率與目標倍率將目標像素映射到平滑點陣字以取得平滑位置,並依據平滑位置作線性內插,以取得目標像素的像素值。否則,當相鄰來源位置的預設數量的像素至少其中之一在主要筆劃區域內時,將目標像素映射到主要筆劃點陣字以取得主要筆劃位置,並依據主要筆劃位置取得目標像素的像素值。最後,當相鄰來源位置的預設數量的像素不屬於上述關鍵點亦不在主要筆劃區域內時,依據來源位置或平滑位置作線性內插,以取得目標像素的像素值。在本發明的一實施例中,從來源點陣字中區別出主要筆劃區域的步驟包括下列程序。首先,於來源點陣字內,計算在水平和垂直方向具有相同像素值的多個次區域的長度, 其中這些次區域的寬度為一個像素。當這些次區域的長度大於門檻長度值,這些次區域的像素值是第一默認值,並且相鄰次區域的端點距離小於門檻端點值時,將這些次區域互相結合而成為多個主要區域之一。最後,集合這些主要區域的中寬度大於門檻寬度值者,成為來源點陣字的主要筆劃區域。在本發明的一實施例中,依據目標倍率將主要筆劃區域作映射縮放以產生主要筆劃點陣字的步驟包括下列程序。依據目標倍率將主要筆劃點陣字內的主要筆劃像素映射到來源點陣字以取得來源位置。當來源位置位在主要筆劃區域內時,主要筆劃像素的像素值為第一默認值,否則主要筆劃像素的像素值為第二默認值。在本發明的另一實施例中,依據目標倍率、關鍵點與關鍵點組成的斜線角度將來源點陣字作內插處理以產生平滑點陣字的步驟包括下列程序。首先,依據目標倍率將目標點陣字內的目標像素作映射,以取得來源點陣字的來源位置。當相鄰來源位置的像素至少包括上述關鍵點時,依據相鄰像素的像素值、相鄰的關鍵點的第一斜線角度與第二斜線角度來計算並填入平滑點陣字的一平滑像素的像素值,其中每一個目標像素的坐標等於每一個平滑像素的坐標。並且,平滑像素的像素值位於第一默認值與第二默認值之間。否則,當來源位置位於來源點陣字的水平邊緣或垂直邊緣時,利用相鄰像素來計算並填入平滑像素的像素值。否則,當相鄰來源位置的像素不屬於關鍵點,且來源位置不位於來源點陣字的水平邊緣與垂直邊緣時,將來源位置的像素值填入平滑像素的像素值。在本發明的另一實施例中,依據主要筆劃點陣字和平滑點陣字以產生目標點陣字的步驟包括下列程序。首先,依據目標倍率將目標點陣字內的目標像素作映射,以取得來源點陣字的來源位置。當相鄰來源位置的像素至少包括上述關鍵點時,將目標像素映射到平滑點陣字以取得平滑位置,並依據平滑位置取得目標像素的像素值。否則,當相鄰來源位置的像素至少其中之一在主要筆劃區域內時,將目標像素映射到主要筆劃點陣字以取得主要筆劃位置,並依據主要筆劃位置取得目標像素的像素值。以及,當相鄰來源位置的像素不屬於上述關鍵點,亦不在主要筆劃區域內時,依據來源位置或平滑位置作線性內插,以取得目標像素的像素值。本發明另外提出一種計算機可讀取的記錄媒體,其儲存電腦程式,此電腦程式加載至計算機系統中並且使得計算機系統執行如上所述的點陣字型的邊緣平滑方法,或者執行如上所述的點陣字型的縮放方法。基於上述,本發明先從來源點陣字中取得主要的筆劃區域,將此主要筆劃區域縮放而形成主要筆劃點陣字。然後,通過來源倍率、關鍵點及這些關鍵點組成的斜線的角度將來源點陣字作縮放,並把斜線和曲線邊緣平滑化,以形成平滑點陣字。最後,依據主要筆劃點陣字、平滑點陣字以及每個像素在來源點陣字中的位置來組成最後的目標點陣字。因此既能維持主要筆劃不會模糊,也把斜線和曲線邊緣平滑化,使得點陣字能夠縮放至期望的大小。便可依據單一尺寸的點陣字型與本方法將點陣字型縮放至目標大小,以減少字型在內存中的容量。為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合附圖作詳細說明如下。


圖IA是依照本發明一實施例的一種點陣字型的邊緣平滑方法的流程圖。圖IB是依照本發明一實施例的一種點陣字型的縮放方法的流程圖。圖2是依照本發明一實施例的一種點陣字型的縮放方法的示意圖。圖3是圖1的步驟SlOl與步驟S102的流程圖。圖4是圖1的步驟SlOl的示意圖。圖5是依照本發明第一實施例的關鍵點的示意圖。圖6是依照本發明第二實施例的關鍵點在來源點陣字上的分布示意圖。圖7是圖1的步驟S104的流程圖。圖8是依據第三實施例的圖7步驟S703、S704的示意圖。圖9是圖7的步驟S702的流程圖。圖10是依據本實施例的利用第一次區域與第二次區域來計算第一斜線角度的示意圖。圖11是依據本實施例的利用第三次區域與第四次區域來計算第一斜線角度的示意圖。圖12是依本實施例所述的接近位置P的四個相鄰像素的表示圖。圖13是依照本發明第四實施例說明點陣字型的縮放方法的示意圖。圖14是依照本發明第四實施例說明步驟S104的流程圖。圖15是依照本發明第四實施例說明步驟S1410的示意圖。圖16是依照本發明第四實施例說明步驟S1430的示意圖。主要組件符號說明SlO S1730 步驟200 來源點陣字202:主要筆劃點陣字205 平滑點陣字210:目標點陣字405 主要筆劃區域BOl B04 次區域401 403 主要區域SP 來源位置MP 主要筆劃位置Pl P8 第一至第八像素Ll 第一斜線Sl 第一斜線角度
L2 第二斜線S2 第二斜線角度DL 對角線300 來源點陣字310 局部來源點陣字KP 關鍵點S701 S705 步驟800:映射區域810、820、830、840 像素區域Bll 第一次區域B12 第二次區域B13 第三次區域B14:第四次區域CP 像素P 位置AP 相鄰像素PA PD 像素SA SD 距離T1、T2:點L:直線DP:目標像素
具體實施例方式在此描述本發明實施例所述點陣字型的邊緣平滑方法的主要步驟,請參照圖IA 與圖2,圖IA是依照本發明一實施例的一種點陣字型的邊緣平滑方法的流程圖,而圖2是依照本發明第一實施例的一種點陣字型的縮放方法的示意圖。請同時參照圖IA與圖2,當取得一來源點陣字200後,本發明實施例首先於步驟SlO中取得在來源點陣字200內的每一個待測像素SP以及與待測像素SP相鄰的上方相鄰像素值、下方相鄰像素值、左方相鄰像素值與右方相鄰像素值,此處所指的待測像素SP亦為來源點陣字200內的來源像素SP。接著,於步驟S20中,當上方相鄰像素值不等於下方相鄰像素值且左方相鄰像素值不等於右方相鄰像素值時,便可判定待測像素SP為關鍵點,否則便判定待測像素SP並非為關鍵點。當已將每一個待測像素SP判斷完畢後,便進入步驟S30,利用目標倍率、步驟S20 判斷所得的關鍵點以及關鍵點所組成的斜線角度將來源點陣字200作內插處理,藉以產生平滑點陣字205。此外,本實施例亦可以通過另一方向來說明點陣字型的縮放方法中的主要步驟, 請同時參照圖IB與圖2。圖IB是依照本發明第一實施例的一種點陣字型的縮放方法的流程圖。於圖IB的步驟SlOl中,從來源點陣字200中區別出主要筆劃區域405。然後在步驟 S102時依據目標倍率將主要筆劃區域作映射(mapping)縮放,以產生主要筆劃點陣字202。 其中,目標倍率是用來縮放來源點陣字200的倍率值,依據目標倍率與來源點陣字200縮放後便成為目標點陣字210,在第一實施例中圖2的目標倍率為0. 75。接著,在步驟S103中依據來源點陣字200內每一個像素與其相鄰的像素值,以取得多個關鍵點。於步驟S104內依據目標倍率對應的整數倍率與上述的關鍵點將來源點陣字200作內插放大,以產生平滑點陣字205。其中,整數倍率為將目標倍率以四捨五入法取得的正整數,因此在第一實施例中圖2的整數倍率為1。最後,步驟S105便依據主要筆劃點陣字202和平滑點陣字205以產生目標點陣字210。於本實施例中,步驟S104將平滑點陣字205縮放為來源點陣字200的整數倍,並且將來源點陣字200的斜線和曲線邊緣平滑化, 但本發明不應以此為限。於其它實施例中,亦可以將平滑點陣字205直接縮放為來源點陣字200的目標倍率,並且同時通過內插處理將來源點陣字200的斜線和曲線邊緣平滑化。由上述可知,本實施例中,點陣字型的縮放方法(請參考圖1B)所述的步驟S103 至S104亦可稱為點陣字型的邊緣平滑方法(請參考圖1A),其通過目標倍率、關鍵點及這些關鍵點組成的斜線角度將來源點陣字200的筆劃邊緣作平滑化以產生平滑點陣字205,藉以防止鋸齒邊緣的產生。因此應用本實施例時,圖IB所述的步驟S101、S102與S105不一定為點陣字型的邊緣平滑方法的必要步驟,而其它流程皆可參考符合點陣字型的縮放方法的實施例,圖IA與圖IB的主要步驟可由以下描述來詳加說明。以下依據本實施例的每個主要步驟來詳細說明其細節程序。圖3是圖IB的步驟 SlOl的流程圖,請參照圖2與圖3。首先設定本實施例的預設參數,本實施例的門檻長度值設為5,門檻端點值設為2,門檻寬度值設為3。上述的參數主要依據來源點陣字200的大小而定,若來源點陣字200較大時,上述參數則相對應的增加,相反地若來源點陣字200較小時,上述參數則相對應的減少。此外由於點陣字由像素組成,因此上述參數以像素為單位。在步驟S301中,於來源點陣字200內計算在水平和垂直方向具有相同像素值的所有次區域的長度,上述次區域就是寬度為一個像素的同色線段。於步驟S302、S303與S304 中,當這些次區域的長度大於門檻長度值、次區域的像素值是第一默認值,並且相鄰的次區域的端點距離小於門檻端點值時,進入步驟S305。其中,第一默認值於本實施例中為黑色像素值,第二默認值則為白色像素值。在步驟S305中,將通過步驟S302至S304篩選的相鄰的次區域互相結合而成為多個主要區域。之後,在步驟S306內判斷主要區域的寬度是否大於門檻寬度值。當主要區域的寬度大於門檻寬度值時,進入步驟S307,集合這些主要區域以成為來源點陣字200的主要筆劃區域405。在此依第一實施例來舉例說明,請同時參照圖3與圖4。圖4是圖IB的步驟SlOl 與步驟S102的示意圖。在步驟S301中,在此以舉例方式從來源點陣字200中取得四個次區域BOl B04。於圖4中,為了明顯標示出次區域BOl B04、來源位置SP與主要坐標位置 MP,在此以斜線標明,其中次區域B02與B03、來源位置SP與主要坐標位置MP由黑色像素值所組成,而次區域BOl與B04則由白色像素值組成。其中垂直方向的次區域BOl長度為3, 次區域B02長度為25,而水平方向的次區域B03長度為4,次區域B04長度則為11。而進入步驟S302時,因為次區域BOl與B03長度均小於門檻長度值(3、4均小於5),因此無法進入步驟S303。次區域B04的長度雖然大於門檻長度值(11 > 5),但次區域B04內的像素均為白色像素值,因此無法從步驟S303中進入步驟S304。次區域B02長度大於門檻長度值(25 > 5),次區域B02內的像素值是黑色像素值,次區域B02與相鄰的次區域的端點距離小於門檻端點值(1、2 3),因此進入步驟S307,來源點陣字200中的主要筆劃區域405便是主要區域401、402、403的集合。接著於第一實施例的步驟S 102中,請同時參照圖2與圖4。依據目標倍率將主要筆劃點陣字202內的主要筆劃像素MP映射到來源點陣字200以取得來源位置SP。上述的映射,其意義是來源位置SP在來源點陣字200內的相對位置和筆劃像素MP在主要筆劃點陣字202內的相對位置相同。以下的將像素在不同點陣字之間映射也是同樣的意義。接著,當來源位置SP在主要筆劃區域405內時,主要筆劃像素MP的像素值為黑色像素值,否則主要筆劃像素MP的像素值為白色像素值。其中,來源位置SP因為目標倍率不一定為整數值,因此其位置的坐標可能會具有小數點。舉例而言,圖4中的主要筆劃像素MP映射到來源點陣字200內而取得來源位置 SP,由於來源位置SP位在主要筆劃區域405內,因此主要筆劃像素MP便填入黑色像素值。 主要筆劃點陣字202內的每一個像素都使用如同像素MP的方法來決定其像素值。在步驟 S102中,依據目標倍率將主要筆劃區域405作映射縮放以產生主要筆劃點陣字202具有多種實施方式,實現本實施例者可選擇其它方式以映射縮放主要筆劃區域405。以下說明圖IB的步驟S103的詳細程序,請同時參照圖2與圖5,圖5是依照本發明一實施例的關鍵點的示意圖,其中圖IB的步驟S103包括圖IA的步驟SlO與S20。在圖 IA的步驟SlO中,首先取得在來源點陣字200內的待測像素SP以及與待測像素SP相鄰的上方相鄰像素值P7、下方相鄰像素值P3、左方相鄰像素值P5與右方相鄰像素值P1,其中,待測像素SP亦為位在來源點陣字內的來源像素SP。而於圖IA的步驟S20時,當上方相鄰像素值P7不等於下方相鄰像素值P3,而且左方相鄰像素值P5不等於右方相鄰像素值Pl時, 則判定待測像素SP為關鍵點,否則判定待測像素SP不是關鍵點。藉此,上述圖IB的步驟 S103便可偵測位於來源點陣字200內的每個像素而取得多個關鍵點。換言之,關鍵點位在水平及垂直方向的黑色像素值與白色像素值的交界處,通常密集分布在點陣字的曲線與斜線筆劃邊緣上。為了加以詳細說明何謂關鍵點KP及其分布狀況,在此請參照圖IB與圖6,圖6是依照本發明第二實施例的關鍵點KP在來源點陣字300上的分布示意圖,第二實施例的來源點陣字300具有許多曲線,其中局部來源點陣字310是將來源點陣字300的部分區域局部放大而成。其中,具有黑色像素值的關鍵點KP以網點加斜線的像素表示,而具有白色像素值的關鍵點KP則以斜線像素表示。在局部來源點陣字310中標示出由圖IB的步驟S103 取得的許多關鍵點KP,以明確說明步驟S103。取得關鍵點後便進入步驟S104,請同時參照圖2、圖7與圖8。其中,為了能夠更詳細說明步驟S104的依據整數倍率與關鍵點而產生平滑點陣字205,在此提出一第三實施例,此第三實施例的整數倍率為2。圖7是圖IB的步驟S104的流程圖,圖8則是依據第三實施例的圖7中步驟S703、S704的示意圖。於步驟S701中,判斷來源點陣字200內的來源像素SP是否為上述的關鍵點。當來源點陣字200內的來源像素SP是關鍵點則進入步驟 S702,依據來源像素SP與其相鄰像素Pl P8以計算出第一斜線角度與第二斜線角度。之後,於步驟S703中,依據整數倍率來放大來源像素SP,而取得平滑點陣字205內的映射區域800,由於第三實施例的整數倍率為2,因此來源像素SP映射到平滑點陣字205的映射區域800內有四個映射像素SPl SP4。於步驟S704中,利用整數倍率、第一斜線角度與第二斜線角度來計算並填入映射區域800內的每一個映射像素SPl SP4的像素值,其中映射像素SPl SP4的像素值位於黑色像素值與白色像素值之間,也就是映射像素SPl PS4 可為灰階像素,以將點陣字的邊緣平滑化。否則,當來源像素SP不屬於關鍵點時,進入步驟 S705,依據整數倍率2來放大來源像素SP,而取得平滑點陣字205內的映射區域800,並將映射區域內所有的映射像素SPl SP4的像素值填入來源像素SP的像素值。對來源點陣字200的每一個像素都使用圖7的流程處理,就能得到平滑點陣字205。在此說明圖7的步驟S702的實施方式,並以計算圖5的第一斜線角度Sl為例,而第二斜線角度S2的計算方式可用Sl的計算方式通過對角線DL作對稱鏡射而得之。圖9 是圖7的步驟S702的流程圖,請參照圖5與圖9。其中,第一斜線角度Sl為來源像素SP至相近關鍵點的聯機的第一斜線Ll與水平方向的夾角,而第二斜線角度S2為來源像素SP至另一邊相近關鍵點的聯機的第二斜線L2與水平方向的夾角。於步驟S901中,來源像素SP 已確定是關鍵點,便在來源點陣字200中取得與來源像素SP相鄰的第一像素Pl至第八像素P8。其中,第一至第八像素Pl P8依順時針方向圍繞來源像素SP來定序。由於每個關鍵點根據兩個斜線的夾角朝向可分為左上、左下、右上、和右下四種, 第一像素Pl可能位於來源像素SP的上方、下方、左方或右方,第一像素Pl與第三像素P3 的像素值必須是黑色像素值,第五像素P5與第七像素P7的像素值必須是白色像素值。圖5 的關鍵點SP的兩個斜線L1、L2的夾角朝向右下方,其第一至第八像素Pl P8的位置就如圖5所示,其中第一像素Pl位於關鍵點SP右方。如果關鍵點SP的兩斜線夾角朝向左下、 左上、或右上方,則第一像素Pl會分別位於關鍵點SP的下方、左方、或上方。第二至第八像素P2 P8則依順時針方向排序。如此,無論關鍵點的兩斜線夾角朝向哪個方向,都可以用本實施例的方式來計算第一斜線角度Si。於步驟S910時,判斷第八像素是否為黑色像素值。當第八像素P8的像素值為黑色像素值時,進入步驟S911,請同時參照圖5、圖9與圖10,圖10是依據本實施例的利用第一次區域Bll與第二次區域B12來計算第一斜線角度Sl的示意圖。於步驟S911中,利用具有來源像素SP的第一次區域B 11與具有第一像素Pl的第二次區域B12來計算計算第一斜線Ll的第一斜線角度Si。其中,第一次區域Bll與第二次區域B12平行於來源像素SP 至第三像素P3的方向,第一次區域Bll與第二次區域B12內的像素值均為黑色像素值。於步驟S915中,取得第二次區域B12中,第一像素Pl至第八像素P8方向的端點像素。其中, 來源像素SP與上述端點像素的水平距離為X,來源像素SP與上述端點像素的垂直距離為 Y。之後進入步驟S920,判斷第一次區域Bll的延伸方向是否為水平方向。於步驟S930中, 若第一次區域Bll的延伸方向為水平方向並且X大於第一次區域Bll的長度時,則進入步驟S940,第一斜線角度Sl為零度角。否則便進入步驟S941,第一斜線角度Sl為arctan (Y/ X)。相對地,若第一次區域Bll的延伸方向為垂直方向則進入步驟S931。於步驟S931中, 當Y大於第一次區域Bll的長度時,則進入步驟S942,第一斜線角度Sl為90度角。否則便進入步驟S943,第一斜線角度Bll為arctan(Y/X)。在此舉例說明,圖10內的第八像素P8為黑色像素值,便進入步驟S915。在步驟 S915中,欲取得的第二次區域B12的端點像素是P8,因此第一斜線Ll便是來源像素SP與第八像素P8的聯機。其中,來源像素SP與端點像素P8的水平距離為1,來源像素SP與端點像素P8的垂直距離為1。由於第一次區域B 11的延伸方向為垂直方向,則從步驟S920 進入步驟S931。於步驟931中,由於來源像素SP與端點像素P8的垂直距離小於第一次區域Bll的長度,因此第一斜線角度Sl便為arctan(1/1)。否則,若第八像素P8的像素值為白色像素值時,則從步驟S910進入步驟S912,請同時參照圖5、圖9與圖11,圖11是依據本實施例的利用第三次區域B13與第四次區域B14 來計算第一斜線角度Sl的示意圖。於步驟S912中,利用具有來源像素SP的第三次區域B13 與具有第七像素P7的第四次區域B14來計算第一斜線Ll的第一斜線角度Si。其中,第三次區域B13與第四次區域B14平行於來源像素SP至第一像素Pl的方向,第三次區域B13內的像素值為黑色像素值,而第四次區域B14內的像素值則為白色像素值。於步驟S916中, 取得第四次區域B14中第七像素P7至第八像素P8方向的端點像素。其中,來源像素SP與上述端點像素的水平距離為X,來源像素SP與上述端點像素的垂直距離為Y。之後,進入步驟S921,判斷第三次區域B13的延伸方向是否為水平方向。於步驟 S932中,若第三次區域B13的延伸方向為水平方向,並且X大於第一次區域Bll的長度時, 則進入步驟S944,第一斜線角度Sl為零度角。否則便進入步驟S945,第一斜線角度Sl為 arctan(Y/(X+l))0相對地,若第三次區域B13的延伸方向為垂直方向則進入步驟S933。於步驟S933中,當Y大於第三次區域B13的長度時,則進入步驟S946,第一斜線角度Sl為90 度角。否則便進入步驟S947,第一斜線角度Sl為arctan((Y+l)/X)。在此舉另一例說明,圖11內的第八像素P8為白色像素值,便進入步驟S916。在步驟S916中,欲取得的第四次區域B14的端點像素是P8,因此第一斜線Ll便是來源像素 SP與第八像素P8相鄰的像素CP的聯機。其中,來源像素SP與端點像素P8的水平距離為 1,來源像素SP與端點像素P8的垂直距離為1。由於第三次區域B13的延伸方向為水平方向,則從步驟S921進入步驟S932。於步驟932中,由於來源像素SP與端點像素P8的垂直距離小於第三次區域B13的長度,因此第一斜線角度Sl便為arctan (1/2)。以下說明圖7的步驟S704的實施方式,請參照圖7與圖8。於第二實施例中,將來源點陣字200通過2倍的整數倍率、第一斜線角度Sl與第二斜線角度S2來計算並填入映射區域800內的每一個映射像素SPl SP4的像素值。其中,應用本實施例者可使用其它線性內插方式來計算映射像素SPl SP4的像素值。其中,映射像素SPl SP4的像素值為SP1_T SP4_T,第一至第八像素Pl P8的對應的像素值為P1_T Ρ8_Τ,來源像素SP 的像素值為SP_T,依據第一斜線角度Sl線性內插計算而成的像素值為SP1_T_ Si、SP2_T_ Si,依據第二斜線角度S2線性內插計算而成的像素值為SP1_T_S2、SP3_T_S2。若來源像素SP不是步驟S103取得的關鍵點時,映射像素SPl SP4的像素值均等於SP_T。但若來源像素SP為步驟S103取得的關鍵點時,便採取以下公式來計算映射像素SPl SP4的像素值SP1_T SP4_T SP1_T = 1/2* (SP1_T_S1+SP1_T_S2);SP2_T = SP2_T_S1 ;SP3_T = SP3_T_S2 ;SP4_T = SP_T。斜線Ll和L2就是黑色區域的邊界。由圖8的來源點陣字200和映射區域800可知,映射像素SP4完全在黑色區域內,和來源像素SP顏色相同,所以SP4_T = SP_T。斜線 Ll通過映射像素SP2,所以SP2_T = SP2_T_S1。斜線L2通過映射像素SP3,所以SP3_T = SP3_T_S2。映射像素SPl位在黑色區域外,所以SP1_T = 1/2*(SP1_T_S1+SP1_T_S2)。以下說明如何計算 SP1_T_S1、SP1_T_S2、SP2_T_S1、以及 SP3_T_S2。於像素區域810中,像素Tl為第四像素P4至第五像素P5聯機與第一斜線Ll經過的交點,像素T2為第七像素P7至來源像素SP聯機與第一斜線Ll經過的交點。依本實施例的2倍放大內插法,像素Tl、T2的像素值T1_T、Τ2_Τ為
Ρ4ΠΡ5Τ\Tl T =T + (L^L)xP4 Τ
—P4P5 「 P4P5 —.

cp τ ρη rtjΤ2 τ = (=^)xP7 T + (~J=^)xSP T
—SP Ρ7 — SP Ρ7 -。其中,代表的是第四像素Ρ4至第五像素Ρ5的線段長,依此類推。而SP1_T_ Si則為
7 SIPTl 9PSPl T Sl = (-)xT2 T + (-)χT\ T
—— Τ1Τ2 一 Τ1Τ2 —。因此,參照以上公式和像素區域820、830、840便可對應地取得SP2_T_S1、SP1_T_ S2與SP3_T_S2以取得像素值SP1_T SP4_T並填入對應的映射像素SPl SP4中。以下說明圖IB的步驟S105的詳細程序,請參照圖1、圖2。首先,於步驟SllO中, 依據目標倍率將目標點陣字210內的目標像素DP作映射,以取得來源點陣字200的來源位置SP。步驟Slll中,判斷相鄰來源位置SP的預設數量的像素是否包括上述的關鍵點。於本實施例中,相鄰來源位置SP的預設數量的像素為來源點陣字200中最接近來源位置SP 的四個相鄰像素AP,如圖12所示。圖12是依本實施例所述的最接近位置P的四個相鄰像素的表示圖。其中,位置P可為來源位置SP或平滑點陣字205內的平滑位置0P。由於目標倍率不一定是整數倍率,因此來源位置SP或平滑位置OP的坐標可能帶有小數,均具有最接近的四個相鄰像素AP。當來源位置SP的四個相鄰像素AP其中包括關鍵點時,進入步驟 S112,依據整數倍率與目標倍率將目標像素SP映射到平滑點陣字205中以取得平滑位置 0P。並在步驟S113中依據平滑位置OP與平滑點陣字205中最接近平滑位置OP的四個相鄰像素AP作線性內插,以取得目標像素DP的像素值。否則,當來源位置SP的四個相鄰像素AP均不屬於步驟S106取得的關鍵點時,則進入步驟S115。在步驟S115中,當來源位置SP的四個相鄰像素AP其中至少有一個位於主要筆劃區域405內時,就在步驟S116將目標像素DP映射到主要筆劃點陣字202中以取得主要筆劃位置MP,並在步驟S117依據主要筆劃位置MP取得目標像素DP的像素值。其中, 由於主要筆劃點陣字202與目標點陣字210所縮放的目標倍率相同,因此主要筆劃點陣字 202內的主要筆劃位置MP與目標點陣字210內的目標像素DP為一對一對應,不需經過線性內插法的計算,即可將主要筆劃位置MP的像素值做為目標像素DP的像素值。否則,當來源位置SP的四個相鄰像素不屬於步驟S103取得的關鍵點,亦不在主要筆劃區域405內時,進入步驟S120,可依據來源點陣字200之中最接近來源位置SP的四個相鄰像素AP作線性內插,以取得目標像素DP的像素值。另外,也可以依據平滑點陣字205之中最接近平滑位置OP的四個相鄰像素AP作線性內插,以取得目標像素DP的像素值。在此提出第四實施例以更加詳細說明本發明的精神。由上述說明中可知,上述實施例均先將平滑點陣字縮放為整數倍率,藉以降低運算複雜度,並且能夠獲得較好的邊緣平滑效果,但並非用以限定本發明。於其它實施例中也可利用內插處理方法(如雙線性內插法)直接將平滑點陣字縮放至非整數的目標倍率,並同時將斜線與曲線的邊緣平滑化, 請同時參照圖IB與圖13。圖13是依照本發明第四實施例說明點陣字型的縮放方法的示意圖。本實施例與上述各實施例不同之處在於,於步驟S104中將平滑點陣字205直接縮放至目標倍率(亦即目標倍率為0. 75)而非前述實施例的整數倍率,並同時將來源點陣字 200的斜線和曲線邊緣平滑化。此外,由於目標點陣字210與平滑點陣字205的縮放倍率相同(均為目標倍率),每一個平滑位置OP (亦可稱為平滑像素0P)對應一個目標像素DP。 因此於步驟Sl 13時,本實施例直接利用目標像素DP的坐標來取得對應的平滑位置0P,並將平滑位置OP的像素值填入目標坐標OP的坐標中,而不需與上述實施例一般繁瑣地將目標位置DP映射至平滑點陣字205、再利用內插法取得目標位置DP的像素值。此處詳加說明第四實施例的步驟S104,請同時參照圖14與圖15。圖14是依照本發明第四實施例說明步驟S104的流程圖。圖15是依照本發明第四實施例說明步驟S1410 的示意圖。本實施例的步驟S104包括步驟S1401 S1440。於步驟S1401中,依據目標倍率N將目標點陣字210內其中一個目標像素DP作映射,以取得來源點陣字200的來源位置 SP。在步驟S1402時,當相鄰來源位置SP的四個像素至少包括上述關鍵點KP其中之一時, 便進入步驟S1410,依據相鄰像素的像素值、相鄰的關鍵點KP的第一斜線角度與第二斜線角度來計算並填入平滑點陣字205的平滑像素OP(亦稱平滑坐標0P)的像素值。其中,平滑像素DP的坐標對應目標像素DP的坐標,平滑像素OP的像素值位於第一默認值與第二默認值之間。於本實施例中,來源位置SP如圖15所示,相鄰來源位置SP的四個像素PA、PF、PC、 PE當中的像素PA與像素PC為關鍵點,因此進入步驟S1410,依據相鄰像素、相鄰關鍵點的斜線角度計算並填入平滑像素OP的像素值。當放大倍率N > 2時,選取離來源位置SP最近的關鍵點的斜線角度進行內插計算以求得平滑像素OP的像素值。如果放大倍率N < 2, 則先依據每個關鍵點的斜線角度分別進行內插計算,然後再將分別取得的像素值平均,以取得來源位置SP的像素值,並將此像素值填入平滑像素OP的像素值中。在此以最接近來源位置SP的關鍵點PA與其第一斜線角度Si、第一斜線Ll為例說明本實施例的內插計算方式。首先選取適當的平行四邊形PA、PB、PC與PD作為內插計算的相鄰像素點,而直線L通過來源位置SP且與第一斜線Ll平行。選取相鄰像素點的規則如下⑴如果0°彡Sl <45°或135°彡Sl <180°時,假設直線L與像素PA至像素PD 以及像素PB至像素PC的水平聯機分別交於點Tl與T2,便選取與點Tl與T2左右相鄰的四個像素點作為相鄰像素點。(2)如果45° SSl <135°時,假設直線L與像素構成的垂直聯機分別交於點Tl與T2,便選取與點Tl與T2上下相鄰的四個像素點作為相鄰像素點。如圖15所示,第一斜線Ll的第一斜線角度0°彡Sl <45°,因此便以PA、PB、PC 與PD作為相鄰像素點。其中,距離SA,SD為點Tl至像素PA、PD的距離,而距離SB、SC為點 T2至像素PB、PC的距離,SA+SD = 1,且SB+SC= 1。此時的內插處理方式便為方程式(1),藉以取得平滑像素OP的像素值0P_T = AAX ΡΑ_Τ+ΑΒ X PB_T+AC X PC_T+AD X PD_T.....(1)其中,OP_T、PA_T、PB_T、PC_T、PD_T分別代表平滑位置 OP、像素 PA、PB、PC 與 PD 的像素值。AA、AB、AC與AD則為加權係數。其中,加權係數AA、AB、AC與AD由下面的過程來取得1.分別給予加權係數初始值。其中,AA = SD, AD = SA, AB = SC且AC = SB。2.依據目標倍率N對加權係數Ai作修正,其中i可為A、B、C或D 如果
N-2A. N + 2
Al -則Ai = 1 ;否則,Ai維持不變。
2N 『2N 『接著,如果步驟S1402中判斷相鄰來源位置SP的四個像素並無關鍵點後,便進入步驟S1420,藉以判斷來源位置SP是否位於來源點陣字200的水平邊緣或垂直邊緣中。當來源位置SP是否位於來源點陣字200的水平邊緣或垂直邊緣時便進入步驟S1430,請參照圖14與圖16。圖16是依照本發明第四實施例說明步驟S1430的示意圖。當來源位置SP位於來源點陣字200的水平邊緣或垂直邊緣時(亦即像素PA與像素PD的像素值相反,並且像素PB與像素PC的像素值相反),利用相鄰像素PA PD來計算並填入平滑像素OP的像素值。以圖16為例,圖16繪示為來源位置SP位於來源點陣字200 的水平邊緣,其中來源位置SP的坐標為(i+u,j+v),像素PA的坐標為(i,j),像素PB的坐標為(i+1,j),像素PC的坐標為(i,j+Ι),而像素PD的坐標則為(i+1,j+Ι)。此時的內插處理方式便為方程式O),藉以取得平滑像素OP的像素值0Ρ_Τ = ΒΑΧ ΡΑ_Τ+ΒΒ X PB_T+BC X PC_T+BD X PD_T.....(2)其中,加權係數ΒΑ、BB、BC與BD由下面的過程來取得1.分別給予加權係數=BA = (1-u) (1-v)、BB = u(l-v)、BC = (l_u)v 且 BD = uv。2.依據目標倍率N對加權係數Bi作修正,其中i可為A、B、C與D :
N-2(1)如果來源位置SP位於來源點陣字200的水平邊緣時,若V <-則BA =
2N 『
N + 2
BB = 1/2,BC = BD = 0 ;否則,若V >-則 BA = BB = 0,BC = BD = 1/2 ;否則,Bi
2N 』
維持不變。
N-2(2)如果來源位置SP位於來源點陣字200的垂直邊緣時,若W <-則BA =
2N 』
N + 2
BC = 1/2,BB = BD = 0 ;否則,若W >-則 BA = BC = 0,BB = BD = 1/2 ;否則,Bi
2N 』
維持不變。然後,如果來源位置SP並沒有位於來源點陣字200的水平邊緣或垂直邊緣中,且相鄰來源位置SP的四個像素不屬於關鍵點時,便進入步驟S1440,此時來源位置SP相鄰的像素均應具有同一像素值,因此便將來源位置SP附近相鄰的像素的像素值填入平滑像素OP的像素值。於步驟S1410、S1430或S1440進行完畢後,便重新進入步驟S1401,將位於目標點陣字210中的下一個目標像素DP作映射以取得來源點陣字200的另一個來源位置SP, 如此循環以將所有位於平滑點陣字205中的平滑像素OP的像素值計算完畢。此外,從另一觀點來看,本發明的另一實施例提出一種計算機可讀取的記錄媒體, 可儲存電腦程式,此電腦程式加載至計算機系統中,並且使得計算機系統執行如上述的點陣字型的縮放方法以及點陣字型的邊緣平滑方法。至於本實施例的其它細部流程已包含在上述各實施例中,故在此不予贅述。綜上所述,本發明先取得來源點陣字中水平/垂直方向的主要筆劃,並將這些主要筆劃縮放而形成主要筆劃點陣字。然後,依據目標倍率或者整數倍率將來源點陣字縮放, 並且將來源點陣字的斜線和曲線邊緣平滑化,以形成平滑點陣字。接著通過目標點陣字中每個目標像素的位置映射至來源點陣字中,並且依據映射到的位置來選擇參考平滑點陣字、主要筆劃點陣字或者來源點陣字,以取得目標像素的像素值。因此,既能維持主要筆劃不模糊,也可將斜線和曲線邊緣平滑化,讓點陣字能美觀地縮放至目標大小。雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當以權利要求所界定的為準。
權利要求
1.一種點陣字型的邊緣平滑方法,包括取得在該來源點陣字內的每一待測像素以及與該待測像素相鄰的一上方相鄰像素值、 一下方相鄰像素值、一左方相鄰像素值與一右方相鄰像素值;當該上方相鄰像素值不等於該下方相鄰像素值,而且該左方相鄰像素值不等於該右方相鄰像素值時,該待測像素便是多個關鍵點之一;以及依據一目標倍率、該些關鍵點與該些關鍵點組成的斜線角度將該來源點陣字作內插處理,以產生一平滑點陣字。
2.如權利要求1所述的點陣字型的邊緣平滑方法,其特徵在於,依據該目標倍率、該些關鍵點與該些關鍵點組成的斜線角度將該來源點陣字作內插處理以產生該平滑點陣字的步驟包括當該來源點陣字內的一來源像素是該些關鍵點之一時,依據該來源像素與其相鄰像素以計算出一第一斜線角度與一第二斜線角度;依據該目標倍率來放大該來源像素,而取得該平滑點陣字內的一映射區域; 利用該目標倍率、該第一斜線角度與該第二斜線角度來計算並填入該映射區域內的每一個映射像素的像素值,其中該些映射像素的像素值位於一第一默認值與一第二默認值之間;以及否則,當該來源像素不屬於該些關鍵點時,依據該目標倍率來放大該來源像素,而取得該平滑點陣字內的該映射區域,並將該映射區域內所有的該些映射像素的像素值填入該來源像素的像素值。
3.如權利要求2所述的點陣字型的邊緣平滑方法,其特徵在於,依據該來源像素與其相鄰像素以計算出該第一斜線角度的步驟包括取得與該來源像素相鄰的一第一至第八像素,該第一至第八像素依順時針方向圍繞該來源像素來定序,該第一像素位於該來源像素的上方、下方、左方、右方其中之一,該第一像素與該第三像素的像素值等於該第一默認值,該第五像素與該第七像素的像素值為該第二默認值;當該第八像素的像素值為該第一默認值時,利用具有該來源像素的一第一次區域與具有該第一像素的一第二次區域來計算該第一斜線角度,其中該第一次區域與該第二次區域平行於該來源像素至該第三像素的方向;否則,當該第八像素的像素值為該第二默認值時,利用具有該來源像素的一第三次區域與具有該第七像素的一第四次區域來計算該第一斜線角度,其中該第三次區域與該第四次區域平行於該來源像素至該第一像素的方向。
4.一種計算機可讀取的記錄媒體,儲存一電腦程式,該電腦程式加載至一計算機系統中並且使得該計算機系統執行如權利要求1所述的點陣字型的邊緣平滑方法。
5.一種點陣字型的縮放方法,包括 從一來源點陣字中區別出一主要筆劃區域;依據一目標倍率將該主要筆劃區域作映射縮放,以產生一主要筆劃點陣字; 取得在該來源點陣字內的一待測像素以及與該待測像素相鄰的一上方相鄰像素值、一下方相鄰像素值、一左方相鄰像素值與一右方相鄰像素值;當該上方相鄰像素值不等於該下方相鄰像素值,而且該左方相鄰像素值不等於該右方相鄰像素值時,將該待測像素視為多個關鍵點之一;依據該目標倍率、該些關鍵點與該些關鍵點組成的斜線角度將該來源點陣字作內插處理,以產生一平滑點陣字;以及依據該主要筆劃點陣字和該平滑點陣字以產生一目標點陣字。
6.如權利要求5所述的點陣字型的縮放方法,其特徵在於,依據該目標倍率、該些關鍵點與該些關鍵點組成的斜線角度將該來源點陣字產生該平滑點陣字的步驟包括當該來源點陣字內的一來源像素是該些關鍵點之一時,依據該來源像素與其相鄰像素以計算出一第一斜線角度與一第二斜線角度;依據該目標倍率以四捨五入法取得的一整數倍率來放大該來源像素,而取得該平滑點陣字內的一映射區域;利用該目標倍率所對應的一整數倍率、該第一斜線角度與該第二斜線角度來計算並填入該映射區域內的每一個映射像素的像素值,其中該些映射像素的像素值位於一第一默認值與一第二默認值之間;以及否則,當該來源像素不屬於該些關鍵點時,依據該整數倍率來放大該來源像素,而取得該平滑點陣字內的該映射區域,並將該映射區域內所有的該些映射像素的像素值填入該來源像素的像素值。
7.如權利要求6所述的點陣字型的縮放方法,其特徵在於,依據該來源像素與其相鄰像素以計算出該第一斜線角度的步驟包括取得與該來源像素相鄰的一第一至第八像素,該第一至第八像素依順時針方向圍繞該來源像素來定序,該第一像素位於該來源像素的上方、下方、左方、右方其中之一,該第一像素與該第三像素的像素值等於該第一默認值,該第五像素與該第七像素的像素值為該第二默認值;當該第八像素的像素值為該第一默認值時,利用具有該來源像素的一第一次區域與具有該第一像素的一第二次區域來計算該第一斜線角度,其中該第一次區域與該第二次區域平行於該來源像素至該第三像素的方向;否則,當該第八像素的像素值為該第二默認值時,利用具有該來源像素的一第三次區域與具有該第七像素的一第四次區域來計算該第一斜線角度,其中該第三次區域與該第四次區域平行於該來源像素至該第一像素的方向。
8.如權利要求7所述的點陣字型的縮放方法,其特徵在於,利用該第一次區域與該第二次區域來計算該第一斜線角度的步驟包括取得該第二次區域的該第一像素至該第八像素方向的端點像素,其中該來源像素與該端點像素的水平距離為X,該來源像素與該端點像素的垂直距離為Y ;若該第一次區域的延伸方向為水平方向,當X大於該第一次區域的長度時,該第一斜線角度為零度角,否則,該第一斜線角度為arctan(Y/X);以及若該第一次區域的延伸方向為垂直方向,當Y大於該第一次區域的長度時,該第一斜線角度為90度角,否則,該第一斜線角度為arctan(Y/X)。
9.如權利要求7所述的點陣字型的縮放方法,其特徵在於,利用該第三次區域與該第四次區域來計算該第一斜線角度的步驟包括取得該第四次區域的該第七像素至該第八像素方向的端點像素,其中該來源像素與該端點像素的水平距離為X,該來源像素與該端點像素的垂直距離為Y ;若該第三次區域的延伸方向為水平方向,當X大於該第三次區域的長度時,該第一斜線角度為零度角,否則,該第一斜線角度為arctan (Y/ (X+l));以及若該第三次區域的延伸方向為垂直方向,當Y大於該第三次區域的長度時,該第一斜線角度為90度角,否則,該第一斜線角度為arctan ((Y+l) /X)。
10.如權利要求5所述的點陣字型的縮放方法,其特徵在於,依據該主要筆劃點陣字和該平滑點陣字以產生該目標點陣字的步驟包括依據該目標倍率將該目標點陣字內的一目標像素作映射,以取得該來源點陣字的一來源位置;當相鄰該來源位置的一預設數量的像素至少包括該些關鍵點其中之一時,依據該整數倍率與該目標倍率將該目標像素映射到該平滑點陣字以取得一平滑位置,並依據該平滑位置作線性內插,以取得該目標像素的像素值;否則,當相鄰該來源位置的該預設數量的像素至少其中之一在該主要筆劃區域內時, 將該目標像素映射到該主要筆劃點陣字以取得一主要筆劃位置,並依據該主要筆劃位置取得該目標像素的像素值;以及當相鄰該來源位置的該預設數量的像素不屬於該些關鍵點亦不在該主要筆劃區域內時,依據該來源位置或該平滑位置作線性內插,以取得該目標像素的像素值。
11.如權利要求10所述的點陣字型的縮放方法,其特徵在於,相鄰該來源位置的該預設數量的像素為該來源點陣字中最接近該來源位置的四個相鄰像素。
12.如權利要求10所述的點陣字型的縮放方法,其特徵在於,依據該平滑位置作線性內插的步驟包括利用該平滑點陣字中最接近該平滑位置的四個相鄰像素作線性內插。
13.如權利要求10所述的點陣字型的縮放方法,其特徵在於,依據該來源位置作線性內插的步驟包括利用該來源點陣字中最接近該來源位置的四個相鄰像素作線性內插。
14.如權利要求5所述的點陣字型的縮放方法,其特徵在於,從該來源點陣字中區別出該主要筆劃區域的步驟包括於該來源點陣字內,計算在水平和垂直方向具有相同像素值的多個次區域的長度,其中該些次區域的寬度為一個像素;當該些次區域的長度大於一門檻長度值,該些次區域的像素值是一第一默認值,並且相鄰的該些次區域的端點距離小於一門檻端點值時,將該些次區域互相結合而成為多個主要區域之一;以及集合該些主要區域的中寬度大於一門檻寬度值者,成為該來源點陣字的該主要筆劃區域。
15.如權利要求5所述的點陣字型的縮放方法,其特徵在於,依據該目標倍率將該主要筆劃區域作映射縮放以產生該主要筆劃點陣字的步驟包括;依據該目標倍率將該主要筆劃點陣字內的一主要筆劃像素映射到該來源點陣字以取得一來源位置;以及當該來源位置位在該主要筆劃區域內時,該主要筆劃像素的像素值為一第一默認值, 否則該主要筆劃像素的像素值為一第二默認值。
16.如權利要求5所述的點陣字型的縮放方法,其特徵在於,依據該目標倍率、該些關鍵點與該些關鍵點組成的斜線角度將該來源點陣字作內插處理以產生該平滑點陣字的步驟包括依據該目標倍率將該目標點陣字內的一目標像素作映射,以取得該來源點陣字的一來源位置;當相鄰該來源位置的一預設數量的像素至少包括該些關鍵點其中之一時,依據相鄰像素的像素值、相鄰的該些關鍵點的一第一斜線角度與一第二斜線角度來計算並填入該平滑點陣字的一平滑像素的像素值,其中該平滑像素的坐標對應該目標像素的坐標,該平滑像素的像素值位於一第一默認值與一第二默認值之間;否則,當該來源位置位於該來源點陣字的水平邊緣或垂直邊緣時,利用相鄰像素來計算並填入該平滑像素的像素值;以及否則,當相鄰該來源位置的該預設數量的像素不屬於該些關鍵點且該來源位置不位於該來源點陣字的水平邊緣與垂直邊緣時,將該來源位置的像素值填入該平滑像素的像素值。
17.如權利要求16所述的點陣字型的縮放方法,其特徵在於,依據該主要筆劃點陣字和該平滑點陣字以產生該目標點陣字的步驟包括依據該目標倍率將該目標點陣字內的該目標像素作映射,以取得該來源點陣字的該來源位置;當相鄰該來源位置的該預設數量的像素至少包括該些關鍵點其中之一時,將該目標像素映射到該平滑點陣字以取得一平滑位置,並依據該平滑位置取得該目標像素的像素值;否則,當相鄰該來源位置的該預設數量的像素至少其中之一在該主要筆劃區域內時, 將該目標像素映射到該主要筆劃點陣字以取得一主要筆劃位置,並依據該主要筆劃位置取得該目標像素的像素值;以及當相鄰該來源位置的該預設數量的像素不屬於該些關鍵點亦不在該主要筆劃區域內時,依據該來源位置或該平滑位置作線性內插,以取得該目標像素的像素值。
18.一種計算機可讀取的記錄媒體,儲存一電腦程式,該電腦程式加載至一計算機系統中並且使得該計算機系統執行如權利要求5所述的點陣字型的縮放方法。
全文摘要
一種點陣字型的邊緣平滑方法、縮放方法與其記錄媒體,首先從來源點陣字中取得主要的筆劃區域,並通過主要筆劃區域產生主要筆劃點陣字。然後,通過關鍵點及這些關鍵點組成的斜線角度將來源點陣字作縮放並且把筆劃邊緣平滑化,以形成平滑點陣字。最後,依據主要筆劃點陣字、平滑點陣字以及每個像素在來源點陣字中的位置來組成目標點陣字。
文檔編號G06T11/20GK102262785SQ20101019273
公開日2011年11月30日 申請日期2010年5月24日 優先權日2010年5月24日
發明者董火新 申請人:珠海揚智電子有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀