一种生成多层次矢量图的方法与装置制造方法及图纸

技术编号:14411571 阅读:205 留言:0更新日期:2017-01-11 23:32
本发明专利技术提供一种生成多层次矢量图的方法,包括:确定图像的填色区域的边界轮廓;存储所述边界轮廓和所述填色区域的图像属性;其中,所述图像属性用于确定所述边界轮廓内的像素。根据本发明专利技术,可以通过填色区域的轮廓还原该轮廓范围内的像素,达到对像素进行修改的效果,其更加有利于对图像进行准确地修改;并且由于能够直接对像素进行操作,因而可以支持处理复杂的拓扑结构。

【技术实现步骤摘要】

本专利技术涉及图像处理,尤其涉及矢量图的图像处理。
技术介绍
计算机图形学中,矢量图指的是用点、直线或者多边形等基于数学方程的几何图元所表示的图像。与存储像素阵列并对每个像素进行操作的位图相比,矢量图采用了不同的保存方式,因而具有保存文件小的优点。并且,由于矢量图不受分辨率的影响,因而还具有在进行任意放大时,不丢失细节、不影响清晰度的优点;以及,在进行诸如缩放、旋转、平移、拉伸、拖拽、擦除、填充等操作后,不降低绘制精度的优点。基于上述优点,矢量图被广泛地应用于计算机辅助设计、电子地图等方面。通常,生成矢量图的方式有两种。其中一种方法是将已有的图片(即原始图像)作为输入,导出该图片的矢量图。这种方法常采用分段或者边缘检测算法来计算原始图像上的边缘轮廓点,并将一系列连续的边缘轮廓点构成多边形,从而对多边形进行曲线拟合,以及填充多边形。这种方法一般适用于处理尺寸较大的自然图像。然而,通过这种方法所生成的矢量图中的所有对象将被保存在同一图层,因而不适用于复杂拓扑图形的编辑操作。另外一种生成矢量图的方法是采用交互的方式在绘制图像时将其保存为矢量图格式。这种方法常通过生成绘制路径的方式,将矢量图的绘制路径以及线宽、颜色、图层等属性信息保存起来。通过这种方法生成的矢量图能很好地支持缩放、旋转、平移、拉伸、着色等编辑操作。但是,这种方法采用生成绘制路径的方式,其不能很好地处理复杂拓扑的图形。并且,采用这种方法的矢量图在进行擦除操作时也会出现问题,例如图1所示,在对一个对象进行擦除操作后,会使得该对象断裂成两部分或多个部分,而不能实现如图2所示的部分擦除绘制路径的效果。另外,上述生成矢量图的方法还存在以下技术问题:针对上述将所有绘制对象存储在同一图层上的情况,虽然各个图元被单独绘制,但由于处于同一图层,交叉的图元之间会构成一个连通图,会被作为一个整体处理,不能被单独编辑操作。例如,如图3所示,当分别针对矢量图的两次绘制对象进行着色时,只能获得如图3左侧的效果,而不是所期望的如图3右侧的效果。这会影响着色的效果,尤其是针对复杂拓扑分层处理的情况,如图4所示。而针对上述生成绘制路径的情况,由于保存的是绘制路径,当擦除操作没有作用在路径上时,对原图形并不会产生影响;然而,如果擦除了路径上的点,则会导致路径断开为两部分或者更多,从而使得一个对象变为两个或多个,如图1所示。那么就不能实现如图2中所期望的擦除效果。
技术实现思路
因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种生成多层次矢量图的方法,包括:1)确定图像的填色区域的边界轮廓;2)存储所述边界轮廓和所述填色区域的图像属性;其中,所述图像属性用于确定所述边界轮廓内的像素。优选地,根据所述的方法,其中步骤1)包括:1-1)确定图像的各个填色区域的边界点;1-2)根据所述边界点拟合出所述填色区域的边界轮廓。优选地,根据所述的方法,其中采用八邻域边界跟踪算法来确定所述填色区域的边界点。优选地,根据所述的方法,其中步骤1-1)包括:1-1-1)从所述填色区域的边界中左上角的点的左下角方向开始八邻域的逆时针搜索;1-1-2)如果被搜索点为在搜索时遇到的第一个在所述填色区域中的边界点,将搜索方向沿顺时针旋转90°;否则,将搜索方向沿逆时针旋转45°。优选地,根据所述的方法,其中步骤1-2)所述拟合的方法为曲线拟合。优选地,根据所述的方法,其中所述图像属性包括编号ID、颜色、线宽、有序的边界点集中的至少一项。并且,本专利技术还提供了一种对通过本专利技术的方法生成的矢量图进行修改的方法,包括:1)根据所述边界轮廓和所述图像属性,确定所述边界轮廓内的像素;2)对所述边界轮廓内的像素进行修改。优选地,根据所述的方法,还包括:3)保存修改后的填色区域的边界轮廓和图像属性。此外,本专利技术还提供了一种对矢量图进行修改的方法,包括:1)确定所述矢量图中填色区域的边界轮廓和图像属性;2)根据所述边界轮廓和所述图像属性,确定所述边界轮廓内的像素;3)对所述边界轮廓内的像素进行修改。以及,一种生成多层次矢量图的装置,包括:用于确定图像的填色区域的边界轮廓的模块;用于存储所述边界轮廓和所述填色区域的图像属性的模块;其中,所述图像属性用于确定所述边界轮廓内的像素。以及,一种对矢量图进行修改的装置,包括:用于确定所述矢量图中填色区域的边界轮廓和图像属性的模块;用于根据所述边界轮廓和所述图像属性,确定所述边界轮廓内的像素的模块;用于对所述边界轮廓内的像素进行修改的模块。与现有技术相比,本专利技术的优点在于:一、相较于将所有绘制对象存储在同一图层上的方法,本专利技术将每次的绘制图元作为一个连通域单独地保存为一个图层,因此即便不同的图元存在交叉的情况,也能够对各个图层上的不同图元进行单独地编辑,例如缩放、旋转、平移、拖拽、着色等;二、相较于生成绘制路径的方法,根据本专利技术的矢量图存储的是各个填色区域的轮廓和属性,并在进行例如擦除等操作时还原轮廓范围内的像素,因而能够实现基于像素进行擦除,被擦除区域是橡皮擦实际擦除的结果,而不会存在例如由于擦除了路径上的点而使得被擦除对象变为多个路径或多个图层的情况;类似地,根据本专利技术的对矢量图进行擦除方法,通过确定需要被擦除的填色区域的轮廓还原该轮廓范围内的像素,达到对像素进行擦除的效果,其更加有利于对图像进行准确地修改;三、由于根据本专利技术的矢量图可以直接对像素进行操作,因而能够支持处理复杂的拓扑结构。附图说明以下参照附图对本专利技术实施例作进一步说明,其中:图1是现有技术生成路径方法的擦除效果;图2是期望的部分擦除效果图示;图3是现有技术针对矢量图的两次绘制对象进行着色时获得的效果以及期望的效果的对比图;图4是现有技术复杂拓扑分层处理的效果;图5a是根据本专利技术的一个实施例的生成矢量图的流程示意图;图5b是根据本专利技术的一个实施例在图5a中进行八邻域边界跟踪的流程示意图;图6是根据本专利技术的一个实施例的矢量图的示意图;图7是图6所示矢量图的连通域的示意图;图8是根据本专利技术的一个实施例的像素点的八邻域图示;图9a是图6所示矢量图的像素外边界点示意图;图9b是图6所示矢量图的像素内外边界点示意图;图10是图6所示矢量图的边界轮廓示意图;图11是图6所示矢量图基于扫描线种子填充算法的示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作详细说明。专利技术人在对采用生成绘制路径的方法而生成的矢量图进行擦除操作时,发现当希望擦除图像中的一部分时,这一部分可能并没有在图像中消失,而只有当橡皮擦作用在路径上时才能获得有效的擦除。然而,即便擦除操作被作用于路径,也不一定能达到期望的效果;例如,擦除操作可能会令原有的路径断裂成多个部分从而形成多个图层,使得无法再针对原有的区域在同一图层上进行操作;又例如,当绘制路径较粗时,无法实现在绘制路径中擦出一个洞,或者将其擦除成特定形状的效果。专利技术人通过研究,以为造成上述缺陷的原因是:路径通常并不能直接反应出填色区域的范围。而如果可以确定填色区域的范围,那么就可以在这个范围内对填色区域进行操作。出于上述考虑,专利技术人认为可以通过确定填色区域的轮廓来确定填色区域的范围。然而,这仍然无法达到能够擦除填色区域中任意部分的效果。专利技术人认为这是由矢量图的特性所造成的,相较于存储像素的位图本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201610659866.html" title="一种生成多层次矢量图的方法与装置原文来自X技术">生成多层次矢量图的方法与装置</a>

【技术保护点】
一种生成多层次矢量图的方法,包括:1)确定图像的填色区域的边界轮廓;2)存储所述边界轮廓和所述填色区域的图像属性;其中,所述图像属性用于确定所述边界轮廓内的像素。

【技术特征摘要】
1.一种生成多层次矢量图的方法,包括:1)确定图像的填色区域的边界轮廓;2)存储所述边界轮廓和所述填色区域的图像属性;其中,所述图像属性用于确定所述边界轮廓内的像素。2.根据权利要求1所述的方法,其中步骤1)包括:1-1)确定图像的各个填色区域的边界点;1-2)根据所述边界点拟合出所述填色区域的边界轮廓。3.根据权利要求2所述的方法,其中采用八邻域边界跟踪算法来确定所述填色区域的边界点。4.根据权利要求3所述的方法,其中步骤1-1)包括:1-1-1)从所述填色区域的边界中左上角的点的左下角方向开始八邻域的逆时针搜索;1-1-2)如果被搜索点为在搜索时遇到的第一个在所述填色区域中的边界点,将搜索方向沿顺时针旋转90°;否则,将搜索方向沿逆时针旋转45°。5.根据权利要求2所述的方法,其中步骤1-2)所述拟合的方法为曲线拟合。6.根据权利要求1所述的方法,其中所述图像属性包括编号ID、颜色、线宽、有序的边界点集中的至少一项...

【专利技术属性】
技术研发人员:夏时洪李新乐高林
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1