本文为自己学习过程中的记录。主要为整理了大佬们以往的成果,然后加一些自己的思考总结。参考文献放到了最后,向大佬致敬。
计算机数字图像一般分为位图和矢量图两种:(1)像素图(2)矢量图
(1)像素图,也称位图。位图是基于像素点的图,通常也被称为点阵图、光栅图或像素图等,其存储格式多样,常用的有BMP标准图像文件格式、压缩的GIF、JPEG等文件格式。人们通过改变像素点上的颜色特征信息及像素点空间位置来实现对位图显示及内容的修改编揖。虽然位图能通过丰富多彩的色彩像素逼真地表现出自然图像,但在对基于像素表示的位图编辑时,很容易出现内容失真、存储过大、编辑复杂等问题。
(2)矢量图也被称为向量图是由一系列点、直线、折线、曲线等几何图元信息和颜色信息表示,通常被压缩为XML文件,这些图元信息通过公式计算获得,再根据计算栅格化显示,并不是由一个个像素存储显宗出来。矢量图只需要修改相应几何图元的参数信息即可实现缩放、旋转、拉申等编辑,同时矢量图易于缩放,不会造成图像的失真。如下图为一副图像的矢量图和位图文件表示,将图像局部放大同样的倍数,对比矢量图不会出现如位图一样的模糊和马赛克等现象。由于存储简单的几何图元和颜色信息,矢量图文件容量一般也较小,但不易制作色彩层次丰富的自然真实图像。
(1)存储紧凑性
在文件表示上,矢量图对比位图具有更少的冗余信息,只需要保存基本几何图元和颜色信息即可,而位图需要记录每个图像中的像素坐标和颜色。同时矢量图的表示与对象湿示大小无关,对于那竖对象信息轮廓越清晰、区域色彩变化越均匀缓慢、物体显示越大时矢量图优势越突出,可减少存储空间和网络宽带。
(2)可缩放性
由于矢量图几何参数表示的优势,对其缩放操作可以保持物体边缘信息,不会出现模糊等现象。在随意缩放中,矢量图不会引起湿示质量的损失,而位图放大时由于内插算法会出现模糊和边缘银齿情况。
(3)易编辑性
对矢量图进行编辑,只需要调整基本图元矢量参数,即轻而易举可实现旋转、平移、拉伸等效果,同时不会降低图像绘制精度。而位图想要达到同样效果则需要对许多像素颜色及位置进行修改。网络常见的SVG和flash文件就是因为矢量图能便捷地进行变形和风格化从而得W广泛传播。
现在的矢量化方法大致分为两类:(1)扩散曲线法,(2)网格化。
基本思想都是将像素文件进行分割,变成具有边界信息和内部填充信息的两类信息然后再做保存。
其一般存储为:边界曲线,内部填充信息
以扩散曲线为例:(扩散曲线是08年提出的,基于图像轮廓可以表达图像的基本信息的认知, 把曲线和曲线上的颜色作为图像的基本信息,通过这些信息可以重新生成彩色填充的图像。)
其基本流程为:
(1)图像分割
(2)边缘检测
(3)曲线拟合
(4)将曲线和填充信息按照矢量文件的要去保存
(5)求解泊松方程将扩散曲线上的颜色迭代的扩散到整幅图像。
一些经典算法如下:
该截图截自李瑞龙的论文《基于Canny优化的卡通视频分割与矢量化》
(1)基于Canny优化的卡通视频分割与矢量化
(2)带有扩散系数的扩散曲线生成方法
(3)基于特征边界提取的图像矢量化