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·准专利·高保真二值图细部切分算法的更多相关文章

  1. opencv删除二值图中较小的噪点色块

    CvSeq* contour = NULL; double minarea = 100.0; double tmparea = 0.0; CFileDialog dlg(true); if (dlg. ...

  2. 用 Python 通过马尔可夫随机场(MRF)与 Ising Model 进行二值图降噪

    前言 这个降噪的模型来自 Christopher M. Bishop 的 Pattern Recognition And Machine Learning (就是神书 PRML……),问题是如何对一个 ...

  3. c语言实现灰度图转换为二值图

    将上篇得到的灰度图转换为二值图,读取像素数据,低于某一值置0,否则设置为255,为得到更好的效果不同图片应采用不同的值 /* 2015年6月2日11:16:22 灰度图转换为二值图 blog:http ...

  4. 使用OpenCV查找二值图中最大连通区域

    http://blog.csdn.net/shaoxiaohu1/article/details/40272875 使用OpenCV查找二值图中最大连通区域 标签: OpenCVfindCoutour ...

  5. S0.4 二值图与阈值化

    目录 二值图的定义 二值图的应用 阈值化 二值化/阈值化方法 1,无脑简单判断 opencv3函数threshold()实现 2,Otsu算法(大律法或最大类间方差法) OpenCV3 纯代码实现大津 ...

  6. C语言实现将彩色BMP位图转化为二值图

    CTF做了图片的隐写题,还没有形成系统的认识,先来总结一下BMP图的组成,并通过将彩色图转为二值图的例子加深下理解. 只写了位图二进制文件的格式和代码实现,至于诸如RGB色彩和调色板是什么的一些概念就 ...

  7. coco数据集标注图转为二值图python(附代码)

    coco数据集大概有8w张以上的图片,而且每幅图都有精确的边缘mask标注. 后面后分享一个labelme标注的json或xml格式转二值图的源码(以备以后使用) 而我现在在研究显著性目标检测,需要的 ...

  8. 超越OpenCV速度的MorphologyEx函数实现(特别是对于二值图,速度是CV的4倍左右)。

    最近研究了一下opencv的 MorphologyEx这个函数的替代功能, 他主要的特点是支持任意形状的腐蚀膨胀,对于灰度图,速度基本和CV的一致,但是 CV没有针对二值图做特殊处理,因此,这个函数对 ...

  9. 【沥血整理】灰度(二值)图像重构算法及其应用(morphological reconstruction)。

    不记得是怎么接触并最终研究这个课题的了,认识我的人都知道我是没有固定的研究对象的,一切看运气和当时的兴趣.本来研究完了就放在那里了,一直比较懒的去做总结,但是想一想似乎在网络上就没有看到关于这个方面的 ...

随机推荐

  1. Celery - Best Practices

    If you've worked with Django at some point you probably had the need for some background processing ...

  2. iOS 应用内跳转到appstore里下载

    SKStoreProductViewController类是UIViewController的子类, 如果你对view controller比较熟悉的话,那SKStoreProductViewCont ...

  3. JavaScript:JavaScript语法的详细介绍

    JavaScript语法:只要Java会了,基本上javascript语法就会了. ——变量的定义 ——程序的结构控制 ——数组操作 ——函数的定义即使用 基本的test.html代码如下,它会导入下 ...

  4. CentOS6.7搭建蜜罐dionaea

    yum -y install epel-release wget tar git autoconf* libtool-* mkdir /opt/dionaea 1.安装liblcfg软件.git cl ...

  5. 微信接口请求万能函数http_request

    关键字:http_request http_request post get http request原文: http://www.cnblogs.com/txw1958/p/http_request ...

  6. Metro之GridView控件的使用-绑定不同的模板样式显示

    最终实现的效果如下: 添加MenuDataSource.cs,字段ImageStyle是用来标识套用的样式 public class MenuGroup { public string GroupTi ...

  7. 对JSP和Servlet性能优化,提升执行效率

    你的J2EE应用是不是运行的很慢?它们能不能承受住不断上升的访问量?本文讲述了开发高性能.高弹性的JSP页面和Servlet的性能优化技术.其意思是建立尽可能快的并能适应数量增长的用户及其请求.在本文 ...

  8. 当标签上写了runat="server" 后,<%%>就会无效

    当标签上写了runat="server" 后,<%%>就会无效 //这是错误的写法 <input type="hidden" runat=&q ...

  9. Git 使用的想法

    git rebase 每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后 git fetch origi ...

  10. lua序列化(支持循环引用)

    lua序列化 支持key类型为string, number 支持value类型为string, number, table, boolean 支持循环引用 支持加密序列化 支持loadstring反序 ...