zw·准专利·高保真二值图细部切分算法
zw·准专利·高保真二值图细部切分算法
高保真二值图细部切分算法,是中国字体协会项目的衍生作品。
说准专利算法,是因为对于图像算法的标准不了解,虽然报过专利,但不是这方面的,需要咨询专业的专利顾问。
原型是用opencv+python实现的,因为Halcon,对于协会的设计师,门槛太高,所以,特意设计了一套opencv+python的live-cd,解压即可,无需配置。
高保真二值图细部切分算法,初看很简单,其实很复杂。
ps,简单的东西,往往更复杂,就像每天遇到的:URL协议,至今没有一个能够100%完全解析的模块库,包括IBM、java、微软、。。。。。。
再如,目前火热的大数据、人工智能,核心算法还是k-v、和匹配。
说白了,就是类似字符串的pos函数,不过这个字符串长度可能是10亿字节。
高保真二值图细部切分算法,复杂度主要体现在以下几个方面:
- 算法必须通用,国标二级,每套字库收录有6763个汉字。算法必须适用于每个汉字,而且必须多种字体通用
- 全自动运行,不能采用交互模式,不然成本太高,参见上一条。
- 高保真,传统ocr、车牌、人像、机器视觉,都没有这个限制,数据宽容度70%都可接受,这个算法,匹配度必须是99%以上
- 缺少元数据,原始数据都是二值图,缺乏时间序列、深度、灰度等信息,像双目立体、点云、以及3D、VR系统,可以通过时间序列图片、光源、镜头变化,甚至多种传感器,多角度,对同一对象进行扫描,多角度采集数据,进行合成。
中国传统书法,有很多飞白、泼墨的手法,产生了很多小孔、孤点,从图像学角度,这些都是细小的干扰区。
传统的图像处理算法,例如车牌、人脸、工业监测等,只需经过简单的迭代过滤,即可解决。
但对于书法作品而言,这些细节,却是作品整体,必不可少的组成部分。
与工业图像处理相比,书法字体的图像,全部是二值图,
表面看起来,这些图像数据源,非常干净,但因为缺乏细节,特别在笔画分解时,非常麻烦。
书法作品,风格各异,变化万千,无法通过建模、模板匹配的手段分割,这个建库成本太高了。
经多方检索,没有任何现成算法,可以参考,全部需要从零开始,自行开发。
通过反复摸索、调试,最终,笔者成功通过图像形态学,结合轮廓匹配,完美的实现了相关功能,受到相关学者认可。

图1,是原稿,

图2,是切分后的效果
注意两图A处的笔画,已经分割,B、C、D等处泼墨效果,以及其他细节,完全保留。
A处,是最难切分,而又保留细节的区域,其他横竖结合部,切割很简单,就不在此介绍了。
这个切割算法的另外一个难点在于,国标二级,每一套字库,都收录有6763个汉字,
算法必须通用,每套字库的所有字形,以及各种其他字库,全部适用。
不然,单独对每一个字进行分割,单套开发、实施成本,就无法接受,更别说多套字库了,
另外,附录的几张图,是其他处理环节的截图,供参考。

zw·准专利·高保真二值图细部切分算法的更多相关文章
- opencv删除二值图中较小的噪点色块
CvSeq* contour = NULL; double minarea = 100.0; double tmparea = 0.0; CFileDialog dlg(true); if (dlg. ...
- 用 Python 通过马尔可夫随机场(MRF)与 Ising Model 进行二值图降噪
前言 这个降噪的模型来自 Christopher M. Bishop 的 Pattern Recognition And Machine Learning (就是神书 PRML……),问题是如何对一个 ...
- c语言实现灰度图转换为二值图
将上篇得到的灰度图转换为二值图,读取像素数据,低于某一值置0,否则设置为255,为得到更好的效果不同图片应采用不同的值 /* 2015年6月2日11:16:22 灰度图转换为二值图 blog:http ...
- 使用OpenCV查找二值图中最大连通区域
http://blog.csdn.net/shaoxiaohu1/article/details/40272875 使用OpenCV查找二值图中最大连通区域 标签: OpenCVfindCoutour ...
- S0.4 二值图与阈值化
目录 二值图的定义 二值图的应用 阈值化 二值化/阈值化方法 1,无脑简单判断 opencv3函数threshold()实现 2,Otsu算法(大律法或最大类间方差法) OpenCV3 纯代码实现大津 ...
- C语言实现将彩色BMP位图转化为二值图
CTF做了图片的隐写题,还没有形成系统的认识,先来总结一下BMP图的组成,并通过将彩色图转为二值图的例子加深下理解. 只写了位图二进制文件的格式和代码实现,至于诸如RGB色彩和调色板是什么的一些概念就 ...
- coco数据集标注图转为二值图python(附代码)
coco数据集大概有8w张以上的图片,而且每幅图都有精确的边缘mask标注. 后面后分享一个labelme标注的json或xml格式转二值图的源码(以备以后使用) 而我现在在研究显著性目标检测,需要的 ...
- 超越OpenCV速度的MorphologyEx函数实现(特别是对于二值图,速度是CV的4倍左右)。
最近研究了一下opencv的 MorphologyEx这个函数的替代功能, 他主要的特点是支持任意形状的腐蚀膨胀,对于灰度图,速度基本和CV的一致,但是 CV没有针对二值图做特殊处理,因此,这个函数对 ...
- 【沥血整理】灰度(二值)图像重构算法及其应用(morphological reconstruction)。
不记得是怎么接触并最终研究这个课题的了,认识我的人都知道我是没有固定的研究对象的,一切看运气和当时的兴趣.本来研究完了就放在那里了,一直比较懒的去做总结,但是想一想似乎在网络上就没有看到关于这个方面的 ...
随机推荐
- mysql基本sql语句大全(基础用语篇)
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份 ...
- LightOj1137 - Expanding Rods(二分+数学)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1137 题意:有一根绳子的长度为l,在有温度的情况下会变形为一个圆弧,长度为 l1 = ...
- C#类的继承
public class Animal { public string word=""; //virtual表示虚方法,用以被重写 public virtual void say( ...
- sql Server 使某一列的值等于行号
declare @i INT update 表名 SET [列名]=@i,@i=@i+ WHERE 条件
- 【转】使用git、git-flow与gitlab工作
转自:http://www.tuicool.com/articles/BZJRj2 使用git.git-flow与gitlab工作 时间 2013-11-02 00:40:39 Axb的自我修养 原 ...
- HBASE架构解析(一)
http://www.blogjava.net/DLevin/archive/2015/08/22/426877.html 前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官 ...
- JQ实现accordion(可折叠)效果
先看效果--这个就是手风琴的效果: 原理:首先默认section1下面的dd可见,其他的全部隐藏:当点击某个obj时候, 快速隐藏全部的dd,然后只有obj.NEXT().show ...
- iOS 支付 [支付宝、银联、微信](转载)
资料 支付宝 //文档idk都包含了安卓.iOS版 银 联 银联官网资料 Demo Demo给了一个订单号,做测试使用,若出现支付失败什么的,可能是已经被别人给支付了,或者是服务器订单过期了 ~ 一. ...
- iOS: 实现苹果的内购
一.介绍: 在个人开发的app上架到AppStore后,苹果官方允许我们将自己的app在appstore上进行付费使用,也就是所谓的内购.其中,支付方式规定的必须是苹果的支付方式:应用内支付. 二.流 ...
- C语言:十进制进制转换为其他进制(思想:查表法)
// // main.c // Hex conversion // // Created by ma c on 15/7/22. // Copyright (c) 2015年 bjsxt. A ...