【技术实现步骤摘要】
基于Potrace算法的中文矢量字库生成方法
本专利技术涉及一种矢量字库的生成技术,具体说是基于Potrace算法改进的中文矢量字库生成方法。
技术介绍
矢量是具有一定长度、一定方向、一定位置的直线段。一个汉字的笔画周围的轮廓线可以看成曲线,曲线可以用一组首尾相接的矢量去近似地表示,曲线字库中的字体通过采用直线和曲线来描述一个汉字图像的轮廓。与位图字体相比,矢量字体定义为一组参数曲线,可以缩放到任何大小,并且通过某些数字处理比位图字体更容易转换。因此,我们在制作字库时需要将中文字符从位图字体转换为矢量字体。目前,汉字字库的输出主要采用的是曲线矢量字库,如常见的Truetype和opentype字库,都是通过矢量曲线来描述一个字体图像的轮廓。在曲线字库的制作流程中,将字体图像矢量化,是至关重要的一步,直接决定着整套字库的输出质量。由于现有的矢量化算法暂时无法满足当前字体设计行业的需求和质量要求,目前大多数商业字体产品仍然严重依赖于设计师对字体图像进行人工布点,手动调整来完成字体图像的矢量化工作。生产效率较低,因此研究一 ...
【技术保护点】
1.基于Potrace算法的中文矢量字库生成方法,其特征在于,包括以下步骤:/nS1、设计字体图像:设计字库中的需要字体,制作bmp格式的图片进行统一保存,然后用字库中对应的unicode编码对每个字体图像进行命名;/nS2、将字体图片进行二值化和去噪:设置全局阈值,扫描图像,将图像进行二值化处理;用形态学运算和各向异性扩散来过滤二值图像,最后将二值化后的图片栅格化为像素点阵;/nS3、路径分解:随机选择一对颜色不同但相邻像素,旋转图像使选择的黑色像素在左侧,白色像素块在右侧;选择长度为1的路径为起始路径,沿着两个像素的缝隙移动扩展,保持每个新边缘在其左侧具有黑色像素,在右 ...
【技术特征摘要】
1.基于Potrace算法的中文矢量字库生成方法,其特征在于,包括以下步骤:
S1、设计字体图像:设计字库中的需要字体,制作bmp格式的图片进行统一保存,然后用字库中对应的unicode编码对每个字体图像进行命名;
S2、将字体图片进行二值化和去噪:设置全局阈值,扫描图像,将图像进行二值化处理;用形态学运算和各向异性扩散来过滤二值图像,最后将二值化后的图片栅格化为像素点阵;
S3、路径分解:随机选择一对颜色不同但相邻像素,旋转图像使选择的黑色像素在左侧,白色像素块在右侧;选择长度为1的路径为起始路径,沿着两个像素的缝隙移动扩展,保持每个新边缘在其左侧具有黑色像素,在右侧具有白色像素;通过判断周围像素的颜色选择方向前进,一直持续回到开始的顶点;通过此方式将像素转换为封闭路径,通过递归应用上述算法将图像全部转换为封闭的路径;
S4、多边形拟合路径:用直线片段去拟合各段封闭路径,用这些直线片段构建一个带索引序列的多边形,然后选取最优多边形;
将找到一个最优多边形的问题简化为一个在有向图中找到一个最优环形;使用一...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。