專利名稱:一種基于折線抽稀算法的圖形數(shù)據(jù)壓縮處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖形數(shù)據(jù)壓縮處理領(lǐng)域,尤其涉及一種基于折線 抽稀算法的圖形數(shù)據(jù)壓縮處理方法。
背景技術(shù):
目前計算機的存儲和網(wǎng)絡(luò)傳輸能力相對有限,特別是網(wǎng)絡(luò)傳輸寬
\
帶,遠遠不能滿足圖像數(shù)據(jù)的實時傳輸。公知的圖形數(shù)據(jù)壓縮處理方 法一折線抽稀算法,往往都需要對形狀數(shù)據(jù)進行抽稀和提取,而在抽 稀過程中應(yīng)用最為普遍的是道格拉斯-普克算法,該算法利用限差
dmax對給定折線中的中間形狀點進行抽稀,下面舉出一個實例說明, 具體過程描述如下
參看附圖1,計算機在配有圖形數(shù)據(jù)壓縮處理軟件的支持下,獲 取折線A B,中間折點ml, m2, m3, m4.以及限差dmax,將其放入 到中間存儲器中,抽稀步驟如下
1 )計算機所配套的圖形處理軟件對所有中間折點IIli到線段A-B 的距離進行計算存儲,即要計算出中間折點mi在A-B上的垂足,并且 計算中間折點mi到垂足的距離,需要求平方根,中間存儲器將在計 算過程中對這些數(shù)據(jù)進行存儲,主要時間消耗在這個地方。將計算結(jié) 果與dmax進行比較,找出距離最遠的點,并且要大于dmax。如果所 有距離都小于或者等于dmax,則舍棄所有中間折點,該線段抽稀結(jié)束。
5經(jīng)過比較,找到離線段A-B距離最遠的中間折點m3,連接A,B兩端點。 該步驟結(jié)果參照附圖2。
2)現(xiàn)在折線A B被分為兩部分了。首先計算機所配套的圖形處 理軟件對線段A-m3上所有中間折點到它的距離進行計算并儲存,并 與dmax進行比較,因為中間折點到A-m3的距離都小于或者等于 dmax所以舍棄掉所有中間折點,該線段抽稀結(jié)束。
計算機所配套的圖形處理軟件對折線B m3上所有中間折點到 線段B-m3的距離用同樣的方法進行處理,中間折點到B-m3的距離都 小于或者等于dmax,所以舍棄掉所有中間折點,該線段抽稀結(jié)束。 所有線段比較完畢,本次抽稀過程結(jié)束。最終結(jié)果參照附圖3。
這種算法穩(wěn)定可靠,并且通過改變限差dmax還可以任意的控制 形狀的變形程度,針對不同應(yīng)用要求生產(chǎn)不同外觀精度的形狀數(shù)據(jù)。 但是因為每次都要計算某條線段的所有中間折點到該線段的距離(包 括計算斜率,垂足,和開平方),所以需要耗費大量的計算時間。特別在
我們生產(chǎn)海量數(shù)據(jù)時,形狀數(shù)據(jù)巨大,導致抽稀效率很低。數(shù)據(jù)生成周期長。
發(fā)明內(nèi)容
為了克服現(xiàn)有算法抽稀耗時長,抽稀效率低的缺點,本發(fā)明設(shè)計 出一種基于折線抽稀算法的圖形數(shù)據(jù)壓縮處理方法,即通過對折線進 行旋轉(zhuǎn)來提髙計算點到線段距離效率的折線抽稀算法。
本發(fā)明采用的技術(shù)方案是 一種基于折線抽稀算法的圖形數(shù)據(jù)壓縮處理方法,該方法是在配有圖形數(shù)據(jù)壓縮處理軟件的計算機的支 持下實現(xiàn)的,包括對數(shù)字圖像相關(guān)信息的采集、分類、壓縮、存儲以 及對中間數(shù)據(jù)存儲區(qū)域的劃分和對數(shù)據(jù)的處理操作,計算機調(diào)用配套 使用的圖形數(shù)據(jù)壓縮處理軟件程序,對圖像進行數(shù)據(jù)壓縮處理中,對
于圖形中兩端點為A和B的折線,以及對折線A B中間各個中間折
點(mO的笛卡爾坐標(xi,yi)進行采集,并且連接A,B來兩個端點, 將線段A-B的坐標的數(shù)據(jù)代碼、長度Ra-b長度值、將其長度Ra~b以
及折線中各個折點Olli)的笛卡爾坐標(xi,yi)存儲在中間存儲器中, 在此基礎(chǔ)上借助折線抽稀法進行圖形數(shù)據(jù)壓縮處理,其特征在于:基
于利用折線抽稀算法進行圖形數(shù)據(jù)壓縮處理方法對折線A B進行處
理中包括以下步驟
1) 對折線A B做整體做旋轉(zhuǎn),旋轉(zhuǎn)角度為e,旋轉(zhuǎn)結(jié)果是使 線段A-B與水平坐標軸平行,將e值存儲在中間存儲器中;
2) 對折線A B中間各個中間折點(IIli)的坐標(Xi,yO進行轉(zhuǎn) 換為旋轉(zhuǎn)后的新坐標(Xi' , yi'),具體方法為
a) 計算機將存儲在中間存儲器中折線的端點A、 B和各個中間折
點(nh)的坐標(Xi, yi),以及旋轉(zhuǎn)角度0進行調(diào)用;
b) 計算機對數(shù)據(jù)進行處理,設(shè)置變量dx為B點橫坐標與A點橫
坐標之差,設(shè)置變量dy為B點縱坐標與A縱點坐標之差,將dx, dy, sine, coW作為中間數(shù)據(jù)存儲在中間存儲器中;
c) 對中間折點(mi)的坐標(Xi, yi)坐標進行轉(zhuǎn)換前,按照以
7下方法確定中間參考值ei和fi:
6i= Xi *cos0, fi=yi *sin^ 將ei和fi值存儲在暫存器中,
d)對旋轉(zhuǎn)后的中間折點(IIli')的坐標(Xi' , yi')的坐標值進 行計算,計算機調(diào)用暫存器中的相應(yīng)數(shù)據(jù),如果對折線A B為逆時 針旋轉(zhuǎn),則Xi'為對應(yīng)ei和f i的差值,yi'為ei和f i的和值,計算 機將Xi'和yi'的值存儲在存儲器中;
f) 如果折線A B為順時針旋轉(zhuǎn),則Xi'為ei和f i的和值, yr為ei和fi的差值,計算機將Xi'和yi'的值存儲在存儲器中;
h) 相關(guān)配套軟件對折線作進一步的處理,在旋轉(zhuǎn)后的折線中,做
中間折點加i')對線段A-B的垂線段,并計算出各對應(yīng)垂線段的長度 di,這些值將會被存儲在中間存儲器中
i) 相關(guān)配套軟件對中間存儲其中的ck值進行比較,找出最大的 di值與設(shè)定的dmax進行比較,同時記錄下改點,若最大的di小于或
者等于dmax,舍掉所有的中間折點(mi),對該折線段的抽稀處理結(jié)束, 計算機保存結(jié)果;
g) 若中間折點Olli')的最遠的對應(yīng)垂線段的長度di大于dmax, 則回到旋轉(zhuǎn)之前的折線狀態(tài)中,將該中間折點OIli)分別與A, B兩端點 連接,將這折線分成兩條折線,重新回到步驟a)進行對折線A nii或 折線mi B的抽稀處理;
h) 直至計算機處理結(jié)束,將壓縮圖像數(shù)據(jù)存入存儲器。其中,正,余弦值有正負區(qū)別,不存在象限問題。中間折點(nii') 對線段a-b的垂線段的長度為各個中間折點(mi')與a點縱坐標的 差。
本發(fā)明的有益效果是,改進后的方法和原始算法相比,計算中 間折點到線段的距離的時間大幅縮小,即使生產(chǎn)海量數(shù)據(jù)時,形狀 數(shù)據(jù)巨大,抽稀效率也得到了很大的提高,數(shù)據(jù)生成周期明顯縮短。
圖i原始折線圖。
圖2原始方法處理第一步后的折線圖。 圖3本發(fā)明方法處理處理后的折線圖。 圖4折線旋轉(zhuǎn)e角度后的示意圖。 圖5本發(fā)明方法處理第一步后的折線圖。 下面結(jié)合附圖對本發(fā)明進行詳細的說明。
具體實施例方式
本發(fā)明提出了一種基于折線抽稀算法的圖形數(shù)據(jù)壓縮處理方法, 該方法是在配有圖形數(shù)據(jù)壓縮處理軟件的計算機的支持下實現(xiàn)的,包 括對數(shù)字圖像相關(guān)信息的釆集、分類、壓縮、存儲以及對中間數(shù)據(jù)存 儲區(qū)域的劃分和對數(shù)據(jù)的處理操作,參看附圖l,計算機調(diào)用配套使 用的圖形數(shù)據(jù)壓縮處理軟件程序,對圖像進行數(shù)據(jù)壓縮處理中,對于 圖形中兩端點為a和b的折線,以及對折線a b中間各個中間折點
(mi)的笛卡爾坐標(xi, yi)進行采集,并且連接a, b來兩個端點,將
9線段A-B的坐標的數(shù)據(jù)代碼、長度RA^長度值、將其長度RA4以及
折線中各個折點Olli)的笛卡爾坐標(xi,yi)存儲在中間存儲器中, 在此基礎(chǔ)上借助折線抽稀法進行圖形數(shù)據(jù)壓縮處理,其特征在于:基 于利用折線抽稀算法進行圖形數(shù)據(jù)壓縮處理方法對折線A B進行處 理中包括以下步驟
1) 對折線A B做整體做旋轉(zhuǎn),旋轉(zhuǎn)角度為0,旋轉(zhuǎn)結(jié)果是使 線段A-B與水平坐標軸平行,參看附圖4,將0值存儲在中間存儲器 中;
2) 對折線A B中間各個中間折點(Hli)的坐標(Xi,yi)進行轉(zhuǎn) 換為旋轉(zhuǎn)后的新坐標(Xi' , yi'),具體方法為
a) 計算機將存儲在中間存儲器中折線的端點A、 B和各個中間折
點(mi)的坐標(Xi, yi),以及旋轉(zhuǎn)角度e進行調(diào)用;
b) 計算機對數(shù)據(jù)進行處理,設(shè)置變量dx為B點橫坐標與A點橫 坐標之差,設(shè)置變量dy為B點縱坐標與A縱點坐標之差,將dx, dy, sin0, cosP作為中間數(shù)據(jù)存儲在中間存儲器中;
c) 對中間折點(IIli)的坐標(Xi, yi)坐標進行轉(zhuǎn)換前,按照以 下方法確定中間參考值ei和f i:
6i= Xi *cos0,fi=yi氺sin^ 將ei和fi值存儲在暫存器中,
d)對旋轉(zhuǎn)后的中間折點(mi')的坐標(Xi' , yi')的坐標值進 行計算,計算機調(diào)用暫存器中的相應(yīng)數(shù)據(jù),如果對折線A B為逆時針旋轉(zhuǎn),則xi'為對應(yīng)ei和fi的差值,yi'為ei和fi的和值,計算 機將xr和yi'的值存儲在存儲器中;
f) 如果折線A B為順時針旋轉(zhuǎn),則xi'為ei和fi的和值, yi'為ei和fi的差值,計算機將Xi'和yi'的值存儲在存儲器中
h) 相關(guān)配套軟件對折線作進一步的處理,在旋轉(zhuǎn)后的折線中,做
中間折點(nu')對線段A-B的垂線段,并計算出各對應(yīng)垂線段的長度 di,這些值將會被存儲在中間存儲器中;
i) 相關(guān)配套軟件對中間存儲其中的di值進行比較,找出最大的 di值與設(shè)定的dmax進行比較,同時記錄下改點,若最大的di小于或
者等于dmax,舍掉所有的中間折點OIli),對該折線段的抽稀處理結(jié)束, 計算機保存結(jié)果;
g) 若中間折點011i')的最遠的對應(yīng)垂線段的長度di大于dmax, 則回到旋轉(zhuǎn)之前的折線狀態(tài)中,將該中間折點OIh)分別與A, B兩端點 連接,將這折線分成兩條折線,參看附圖5,重新回到步驟a)進行對
折線A IIli或折線nh B的抽稀處理;
h) 直至計算機處理結(jié)束,將壓縮圖像數(shù)據(jù)存入存儲器。
其中,正,余弦值有正負區(qū)別,不存在象限問題。中間折點Olli') 對線段A-B的垂線段的長度為各個中間折點(IIli')與A點縱坐標的 差。
利用本發(fā)明處理的結(jié)果參看附圖3,與原始的方法相比,本發(fā)明 明顯的減少了抽稀所花的時間,提高了抽稀的效率。
ii
權(quán)利要求
1. 一種基于折線抽稀算法的圖形數(shù)據(jù)壓縮處理方法,該方法是在配有圖形數(shù)據(jù)壓縮處理軟件的計算機的支持下實現(xiàn)的,包括對數(shù)字圖像相關(guān)信息的采集、分類、壓縮、存儲以及對中間數(shù)據(jù)存儲區(qū)域的劃分和對數(shù)據(jù)的處理操作,計算機調(diào)用配套使用的圖形數(shù)據(jù)壓縮處理軟件程序,對圖像進行數(shù)據(jù)壓縮處理中,對于圖形中兩端點為A和B的折線,以及對折線A~B中間各個中間折點(mi)的笛卡爾坐標(xi,yi)進行采集,并且連接A,B來兩個端點,將線段A-B的坐標的數(shù)據(jù)代碼、長度RA-B長度值、將其長度RA-B以及折線中各個折點(mi)的笛卡爾坐標(xi,yi)存儲在中間存儲器中,在此基礎(chǔ)上借助折線抽稀法進行圖形數(shù)據(jù)壓縮處理,其特征在于基于利用折線抽稀算法進行圖形數(shù)據(jù)壓縮處理方法對折線A~B進行處理中包括以下步驟1)對折線A~B做整體做旋轉(zhuǎn),旋轉(zhuǎn)角度為θ,旋轉(zhuǎn)結(jié)果是使線段A-B與水平坐標軸平行,將θ值存儲在中間存儲器中;2)對折線A~B中間各個中間折點(mi)的坐標(xi,yi)進行轉(zhuǎn)換為旋轉(zhuǎn)后的新坐標(xi′,yi′),具體方法為a)計算機將存儲在中間存儲器中折線的端點A、B和各個中間折點(mi)的坐標(xi,yi),以及旋轉(zhuǎn)角度θ進行調(diào)用;b)計算機對數(shù)據(jù)進行處理,設(shè)置變量dx為B點橫坐標與A點橫坐標之差,設(shè)置變量dy為B點縱坐標與A縱點坐標之差,將dx,dy,sinθ,cosθ作為中間數(shù)據(jù)存儲在中間存儲器中;c)對中間折點(mi)的坐標(xi,yi)坐標進行轉(zhuǎn)換前,按照以下方法確定中間參考值ei和fiei=xi*cosθ,fi=y(tǒng)i*sinθ將ei和fi值存儲在暫存器中,d)對旋轉(zhuǎn)后的中間折點(mi′)的坐標(xi′,yi′)的坐標值進行計算,計算機調(diào)用暫存器中的相應(yīng)數(shù)據(jù),如果對折線A~B為逆時針旋轉(zhuǎn),則xi′為對應(yīng)ei和fi的差值,yi′為ei和fi的和值,計算機將xi′和yi′的值存儲在存儲器中;f)如果折線A~B為順時針旋轉(zhuǎn),則xi′為ei和fi的和值,yi′為ei和fi的差值,計算機將xi′和yi′的值存儲在存儲器中;h)相關(guān)配套軟件對折線作進一步的處理,在旋轉(zhuǎn)后的折線中,做中間折點(mi′)對線段A-B的垂線段,并計算出各對應(yīng)垂線段的長度di,這些值將會被存儲在中間存儲器中;i)相關(guān)配套軟件對中間存儲其中的di值進行比較,找出最大的di值與設(shè)定的dmax進行比較,同時記錄下改點,若最大的di小于或者等于dmax,舍掉所有的中間折點(mi),對該折線段的抽稀處理結(jié)束,計算機保存結(jié)果;g)若中間折點(mi′)的最遠的對應(yīng)垂線段的長度di大于dmax,則回到旋轉(zhuǎn)之前的折線狀態(tài)中,將該中間折點(mi)分別與A,B兩端點連接,將這折線分成兩條折線,重新回到步驟a)進行對折線A~mi或折線mi~B的抽稀處理;h)直至計算機處理結(jié)束,將壓縮圖像數(shù)據(jù)存入存儲器。
2. 根據(jù)權(quán)利要求1所述的一種基于折線抽稀算法的圖形數(shù)據(jù)壓 縮處理方法,其特征在于:上述正,余弦值有正負區(qū)別,不存在象限問 題。
3. 根據(jù)權(quán)利要求1所述的一種基于折線抽稀算法的圖形數(shù)據(jù)壓縮處理方法,其特征在于中間折點(IIli')對線段A-B的垂線段的長 度為各個中間折點(mi')與A點縱坐標的差。
全文摘要
一種基于折線抽稀算法的圖形數(shù)據(jù)壓縮處理方法,解決了圖形數(shù)據(jù)壓縮處理過程中抽稀過程所花時間長的問題。采用的技術(shù)方案是,在配有圖形數(shù)據(jù)壓縮處理軟件的計算機的支持下實現(xiàn)的,包括對數(shù)字圖像相關(guān)信息的采集、分類、壓縮、存儲以及對中間數(shù)據(jù)存儲區(qū)域的劃分和對數(shù)據(jù)的處理操作,對圖像中的折點進行旋轉(zhuǎn),使其連接折線兩端點的線段與水平坐標平行,計算各個中間折點到端點線段的垂線段的長度,與給定值進行比較,舍去小于給定值的點,找出距離端點線段最遠的點,在原圖像中與兩端點進行連接,構(gòu)造新折線,再做抽稀。本發(fā)明的優(yōu)點是,大幅縮小了時間,提高了抽稀效率,使數(shù)據(jù)生成周期明顯縮短。
文檔編號G06T9/00GK101458818SQ20081021656
公開日2009年6月17日 申請日期2008年9月26日 優(yōu)先權(quán)日2008年9月26日
發(fā)明者張宗濤, 張維軍, 郭秀梅 申請人:深圳市路暢科技有限公司