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. 算法训练 Hanoi问题

      算法训练 Hanoi问题   时间限制:1.0s   内存限制:512.0MB      问题描述 如果将课本上的Hanoi塔问题稍做修改:仍然是给定N只盘子,3根柱子,但是允许每次最多移动相邻的 ...

  2. Magento white screen or how XML can break your site?

    Magento white screen or how XML can break your site? by SANDO on 02. OCT, 2012 in MAGENTO, SMALL TIP ...

  3. [LeetCode]题解(python):093 Restore IP Addresses

    题目来源 https://leetcode.com/problems/restore-ip-addresses/ Given a string containing only digits, rest ...

  4. iOS:如何将自己的SDK用CocoaPods管理

    条件:  需要在终端上将工程发布到cocoapods上,这样才能用cocoapods进行管理. 步骤: 首先,你得有一个pod的账号 在终端中输入pod 可以查看关于pod 的命令帮助,输入pod t ...

  5. Siri开源了,33%的开发者持疑虑态度,你呢?

    33%的中国开发者对Siri 开放持疑虑态度? 目前来说在iOS 10中,Siri API仅仅支持六类应用程序:打车,通讯,照片搜索,支付,网络电话和锻炼.另外还有一个面向汽车制造商的特殊使用案例,让 ...

  6. Shell 小技巧

    Shell 小技巧 ${} 的使用 截断变量 去掉左边 使用 # (最短匹配)或 ## (最长匹配)方法为 ${var#<模式>} var=DUMMY echo ${var#*M} # M ...

  7. Qt操作xml文件(增删改功能)

    这个例子是在根据网上博客<Qt数据库(XML)>改写的一个操作XML的实现. 借鉴了很多里面的代码,大家可以结合上面的博客对照,相信你肯定会对XML的操作熟练起来. 我建立的是Qwidge ...

  8. Oracle 监听器日志文件过大导致监听异常

    Oracle 监听器日志文件过大导致监听异常 db版本:11.2.0.1 os版本:windows2008 现象: 应用异常,无法连接数据库.登陆数据库服务器,查看监听已经断掉.尝试重启监听,重启失败 ...

  9. 【转】Java多线程编程中易混淆的3个关键字( volatile、ThreadLocal、synchronized)总结

    概述 最近在看<ThinKing In Java>,看到多线程章节时觉得有一些概念比较容易混淆有必要总结一下,虽然都不是新的东西,不过还是蛮重要,很基本的,在开发或阅读源码中经常会遇到,在 ...

  10. java 笔记(2) —— 内部类的作用

    一.内部类简介 个人觉得内部类没多少研究价值,GUI中的事件响应算是非常典型的应用了. Java内部类其实在J2EE编程中使用较少,不过在窗口应用编程中特别常见,主要用来事件的处理.其实,做非GUI编 ...