专利名称:一种基于折线抽稀算法的图形数据压缩处理方法
技术领域:
本发明涉及一种图形数据压縮处理领域,尤其涉及一种基于折线 抽稀算法的图形数据压缩处理方法。
背景技术:
目前计算机的存储和网络传输能力相对有限,特别是网络传输宽
\
带,远远不能满足图像数据的实时传输。公知的图形数据压缩处理方 法一折线抽稀算法,往往都需要对形状数据进行抽稀和提取,而在抽 稀过程中应用最为普遍的是道格拉斯-普克算法,该算法利用限差
dmax对给定折线中的中间形状点进行抽稀,下面举出一个实例说明, 具体过程描述如下
参看附图1,计算机在配有图形数据压縮处理软件的支持下,获 取折线A B,中间折点ml, m2, m3, m4.以及限差dmax,将其放入 到中间存储器中,抽稀步骤如下
1 )计算机所配套的图形处理软件对所有中间折点IIli到线段A-B 的距离进行计算存储,即要计算出中间折点mi在A-B上的垂足,并且 计算中间折点mi到垂足的距离,需要求平方根,中间存储器将在计 算过程中对这些数据进行存储,主要时间消耗在这个地方。将计算结 果与dmax进行比较,找出距离最远的点,并且要大于dmax。如果所 有距离都小于或者等于dmax,则舍弃所有中间折点,该线段抽稀结束。
5经过比较,找到离线段A-B距离最远的中间折点m3,连接A,B两端点。 该步骤结果参照附图2。
2)现在折线A B被分为两部分了。首先计算机所配套的图形处 理软件对线段A-m3上所有中间折点到它的距离进行计算并储存,并 与dmax进行比较,因为中间折点到A-m3的距离都小于或者等于 dmax所以舍弃掉所有中间折点,该线段抽稀结束。
计算机所配套的图形处理软件对折线B m3上所有中间折点到 线段B-m3的距离用同样的方法进行处理,中间折点到B-m3的距离都 小于或者等于dmax,所以舍弃掉所有中间折点,该线段抽稀结束。 所有线段比较完毕,本次抽稀过程结束。最终结果参照附图3。
这种算法稳定可靠,并且通过改变限差dmax还可以任意的控制 形状的变形程度,针对不同应用要求生产不同外观精度的形状数据。 但是因为每次都要计算某条线段的所有中间折点到该线段的距离(包 括计算斜率,垂足,和开平方),所以需要耗费大量的计算时间。特别在
我们生产海量数据时,形状数据巨大,导致抽稀效率很低。数据生成周期长。
发明内容
为了克服现有算法抽稀耗时长,抽稀效率低的缺点,本发明设计 出一种基于折线抽稀算法的图形数据压缩处理方法,即通过对折线进 行旋转来提髙计算点到线段距离效率的折线抽稀算法。
本发明采用的技术方案是 一种基于折线抽稀算法的图形数据压縮处理方法,该方法是在配有图形数据压縮处理软件的计算机的支 持下实现的,包括对数字图像相关信息的采集、分类、压縮、存储以 及对中间数据存储区域的划分和对数据的处理操作,计算机调用配套 使用的图形数据压縮处理软件程序,对图像进行数据压縮处理中,对
于图形中两端点为A和B的折线,以及对折线A B中间各个中间折
点(mO的笛卡尔坐标(xi,yi)进行采集,并且连接A,B来两个端点, 将线段A-B的坐标的数据代码、长度Ra-b长度值、将其长度Ra~b以
及折线中各个折点Olli)的笛卡尔坐标(xi,yi)存储在中间存储器中, 在此基础上借助折线抽稀法进行图形数据压縮处理,其特征在于:基
于利用折线抽稀算法进行图形数据压縮处理方法对折线A B进行处
理中包括以下步骤
1) 对折线A B做整体做旋转,旋转角度为e,旋转结果是使 线段A-B与水平坐标轴平行,将e值存储在中间存储器中;
2) 对折线A B中间各个中间折点(IIli)的坐标(Xi,yO进行转 换为旋转后的新坐标(Xi' , yi'),具体方法为
a) 计算机将存储在中间存储器中折线的端点A、 B和各个中间折
点(nh)的坐标(Xi, yi),以及旋转角度0进行调用;
b) 计算机对数据进行处理,设置变量dx为B点横坐标与A点横
坐标之差,设置变量dy为B点纵坐标与A纵点坐标之差,将dx, dy, sine, coW作为中间数据存储在中间存储器中;
c) 对中间折点(mi)的坐标(Xi, yi)坐标进行转换前,按照以
7下方法确定中间参考值ei和fi:
6i= Xi *cos0, fi=yi *sin^ 将ei和fi值存储在暂存器中,
d)对旋转后的中间折点(IIli')的坐标(Xi' , yi')的坐标值进 行计算,计算机调用暂存器中的相应数据,如果对折线A B为逆时 针旋转,则Xi'为对应ei和f i的差值,yi'为ei和f i的和值,计算 机将Xi'和yi'的值存储在存储器中;
f) 如果折线A B为顺时针旋转,则Xi'为ei和f i的和值, yr为ei和fi的差值,计算机将Xi'和yi'的值存储在存储器中;
h) 相关配套软件对折线作进一步的处理,在旋转后的折线中,做
中间折点加i')对线段A-B的垂线段,并计算出各对应垂线段的长度 di,这些值将会被存储在中间存储器中
i) 相关配套软件对中间存储其中的ck值进行比较,找出最大的 di值与设定的dmax进行比较,同时记录下改点,若最大的di小于或
者等于dmax,舍掉所有的中间折点(mi),对该折线段的抽稀处理结束, 计算机保存结果;
g) 若中间折点Olli')的最远的对应垂线段的长度di大于dmax, 则回到旋转之前的折线状态中,将该中间折点OIli)分别与A, B两端点 连接,将这折线分成两条折线,重新回到步骤a)进行对折线A nii或 折线mi B的抽稀处理;
h) 直至计算机处理结束,将压縮图像数据存入存储器。其中,正,余弦值有正负区别,不存在象限问题。中间折点(nii') 对线段a-b的垂线段的长度为各个中间折点(mi')与a点纵坐标的 差。
本发明的有益效果是,改进后的方法和原始算法相比,计算中 间折点到线段的距离的时间大幅缩小,即使生产海量数据时,形状 数据巨大,抽稀效率也得到了很大的提高,数据生成周期明显縮短。
图i原始折线图。
图2原始方法处理第一步后的折线图。 图3本发明方法处理处理后的折线图。 图4折线旋转e角度后的示意图。 图5本发明方法处理第一步后的折线图。 下面结合附图对本发明进行详细的说明。
具体实施例方式
本发明提出了一种基于折线抽稀算法的图形数据压縮处理方法, 该方法是在配有图形数据压缩处理软件的计算机的支持下实现的,包 括对数字图像相关信息的釆集、分类、压缩、存储以及对中间数据存 储区域的划分和对数据的处理操作,参看附图l,计算机调用配套使 用的图形数据压缩处理软件程序,对图像进行数据压縮处理中,对于 图形中两端点为a和b的折线,以及对折线a b中间各个中间折点
(mi)的笛卡尔坐标(xi, yi)进行采集,并且连接a, b来两个端点,将
9线段A-B的坐标的数据代码、长度RA^长度值、将其长度RA4以及
折线中各个折点Olli)的笛卡尔坐标(xi,yi)存储在中间存储器中, 在此基础上借助折线抽稀法进行图形数据压縮处理,其特征在于:基 于利用折线抽稀算法进行图形数据压缩处理方法对折线A B进行处 理中包括以下步骤
1) 对折线A B做整体做旋转,旋转角度为0,旋转结果是使 线段A-B与水平坐标轴平行,参看附图4,将0值存储在中间存储器 中;
2) 对折线A B中间各个中间折点(Hli)的坐标(Xi,yi)进行转 换为旋转后的新坐标(Xi' , yi'),具体方法为
a) 计算机将存储在中间存储器中折线的端点A、 B和各个中间折
点(mi)的坐标(Xi, yi),以及旋转角度e进行调用;
b) 计算机对数据进行处理,设置变量dx为B点横坐标与A点横 坐标之差,设置变量dy为B点纵坐标与A纵点坐标之差,将dx, dy, sin0, cosP作为中间数据存储在中间存储器中;
c) 对中间折点(IIli)的坐标(Xi, yi)坐标进行转换前,按照以 下方法确定中间参考值ei和f i:
6i= Xi *cos0,fi=yi氺sin^ 将ei和fi值存储在暂存器中,
d)对旋转后的中间折点(mi')的坐标(Xi' , yi')的坐标值进 行计算,计算机调用暂存器中的相应数据,如果对折线A B为逆时针旋转,则xi'为对应ei和fi的差值,yi'为ei和fi的和值,计算 机将xr和yi'的值存储在存储器中;
f) 如果折线A B为顺时针旋转,则xi'为ei和fi的和值, yi'为ei和fi的差值,计算机将Xi'和yi'的值存储在存储器中
h) 相关配套软件对折线作进一步的处理,在旋转后的折线中,做
中间折点(nu')对线段A-B的垂线段,并计算出各对应垂线段的长度 di,这些值将会被存储在中间存储器中;
i) 相关配套软件对中间存储其中的di值进行比较,找出最大的 di值与设定的dmax进行比较,同时记录下改点,若最大的di小于或
者等于dmax,舍掉所有的中间折点OIli),对该折线段的抽稀处理结束, 计算机保存结果;
g) 若中间折点011i')的最远的对应垂线段的长度di大于dmax, 则回到旋转之前的折线状态中,将该中间折点OIh)分别与A, B两端点 连接,将这折线分成两条折线,参看附图5,重新回到步骤a)进行对
折线A IIli或折线nh B的抽稀处理;
h) 直至计算机处理结束,将压縮图像数据存入存储器。
其中,正,余弦值有正负区别,不存在象限问题。中间折点Olli') 对线段A-B的垂线段的长度为各个中间折点(IIli')与A点纵坐标的 差。
利用本发明处理的结果参看附图3,与原始的方法相比,本发明 明显的减少了抽稀所花的时间,提高了抽稀的效率。
ii
权利要求
1. 一种基于折线抽稀算法的图形数据压缩处理方法,该方法是在配有图形数据压缩处理软件的计算机的支持下实现的,包括对数字图像相关信息的采集、分类、压缩、存储以及对中间数据存储区域的划分和对数据的处理操作,计算机调用配套使用的图形数据压缩处理软件程序,对图像进行数据压缩处理中,对于图形中两端点为A和B的折线,以及对折线A~B中间各个中间折点(mi)的笛卡尔坐标(xi,yi)进行采集,并且连接A,B来两个端点,将线段A-B的坐标的数据代码、长度RA-B长度值、将其长度RA-B以及折线中各个折点(mi)的笛卡尔坐标(xi,yi)存储在中间存储器中,在此基础上借助折线抽稀法进行图形数据压缩处理,其特征在于基于利用折线抽稀算法进行图形数据压缩处理方法对折线A~B进行处理中包括以下步骤1)对折线A~B做整体做旋转,旋转角度为θ,旋转结果是使线段A-B与水平坐标轴平行,将θ值存储在中间存储器中;2)对折线A~B中间各个中间折点(mi)的坐标(xi,yi)进行转换为旋转后的新坐标(xi′,yi′),具体方法为a)计算机将存储在中间存储器中折线的端点A、B和各个中间折点(mi)的坐标(xi,yi),以及旋转角度θ进行调用;b)计算机对数据进行处理,设置变量dx为B点横坐标与A点横坐标之差,设置变量dy为B点纵坐标与A纵点坐标之差,将dx,dy,sinθ,cosθ作为中间数据存储在中间存储器中;c)对中间折点(mi)的坐标(xi,yi)坐标进行转换前,按照以下方法确定中间参考值ei和fiei=xi*cosθ,fi=yi*sinθ将ei和fi值存储在暂存器中,d)对旋转后的中间折点(mi′)的坐标(xi′,yi′)的坐标值进行计算,计算机调用暂存器中的相应数据,如果对折线A~B为逆时针旋转,则xi′为对应ei和fi的差值,yi′为ei和fi的和值,计算机将xi′和yi′的值存储在存储器中;f)如果折线A~B为顺时针旋转,则xi′为ei和fi的和值,yi′为ei和fi的差值,计算机将xi′和yi′的值存储在存储器中;h)相关配套软件对折线作进一步的处理,在旋转后的折线中,做中间折点(mi′)对线段A-B的垂线段,并计算出各对应垂线段的长度di,这些值将会被存储在中间存储器中;i)相关配套软件对中间存储其中的di值进行比较,找出最大的di值与设定的dmax进行比较,同时记录下改点,若最大的di小于或者等于dmax,舍掉所有的中间折点(mi),对该折线段的抽稀处理结束,计算机保存结果;g)若中间折点(mi′)的最远的对应垂线段的长度di大于dmax,则回到旋转之前的折线状态中,将该中间折点(mi)分别与A,B两端点连接,将这折线分成两条折线,重新回到步骤a)进行对折线A~mi或折线mi~B的抽稀处理;h)直至计算机处理结束,将压缩图像数据存入存储器。
2. 根据权利要求1所述的一种基于折线抽稀算法的图形数据压 縮处理方法,其特征在于:上述正,余弦值有正负区别,不存在象限问 题。
3. 根据权利要求1所述的一种基于折线抽稀算法的图形数据压縮处理方法,其特征在于中间折点(IIli')对线段A-B的垂线段的长 度为各个中间折点(mi')与A点纵坐标的差。
全文摘要
一种基于折线抽稀算法的图形数据压缩处理方法,解决了图形数据压缩处理过程中抽稀过程所花时间长的问题。采用的技术方案是,在配有图形数据压缩处理软件的计算机的支持下实现的,包括对数字图像相关信息的采集、分类、压缩、存储以及对中间数据存储区域的划分和对数据的处理操作,对图像中的折点进行旋转,使其连接折线两端点的线段与水平坐标平行,计算各个中间折点到端点线段的垂线段的长度,与给定值进行比较,舍去小于给定值的点,找出距离端点线段最远的点,在原图像中与两端点进行连接,构造新折线,再做抽稀。本发明的优点是,大幅缩小了时间,提高了抽稀效率,使数据生成周期明显缩短。
文档编号G06T9/00GK101458818SQ20081021656
公开日2009年6月17日 申请日期2008年9月26日 优先权日2008年9月26日
发明者张宗涛, 张维军, 郭秀梅 申请人:深圳市路畅科技有限公司