『方案』《女友十年精华》 ORC 图片 文字识别 详解
2008年,遇到一本电子书 《女友十年精华》
觉得很美,想 私藏 这些文章:
>网络搜索文章 —— 没有找到;
>反编译程序 —— 所有文字 都是图片格式(部分文章的 非规律乱码 即为证明,且试用 Adobe Director 反编译 确是图片无疑)
>总计 310篇文章 —— 如何降低 工作复杂度 得到 文本格式的文章?
最后方案:
>写区域截屏软件,将一篇文章 截成多图 (图片文字行 有重复);
>过滤 文章多图 的背景图片(背景图片 会干扰 ORC 的准确率);
>将 文章多图 拆解为 每一行文字一个图片(会有图片文字重复);
>识别 单行文字图片 的 段落起始 和 段落结束;
>识别 单行文字图片,ORC 转换为 文字;
>将 识别后的 文字恢复 段落起始 和 段落结束(当前行文字 抬头空两格,下一行文字 另开段落);
>遍历 识别后的文字行,过滤 重复行;
>最后将文本格式化,把本该属于 一个段落的 取消换行。
看图说话:
>原始运行程序界面
>截屏软件
>图片分析,过滤背景
>拆解单行(前后的 “哈哈哈哈哈”,只是为了 保留 段落格式)
>ORC 图片文字,过滤重复行。(略)
>复原完整 文章图片(无用操作)
>识别最后文本:
>格式化 段落(即为 最后的文本)
>将 文字 转为 HTML (最后使用的格式)
至此结束:
>相关源码 写的很糟糕,各位园友似乎也用不到 ORC(就不开源 啦 —— 需要源码的 再联系我);
>ORC 效果最好的 是 Office 2007(2010 应该也不错)
需要补丁 office2007sp1-kb936982-fullfile-zh-cn.exe 和 office2007sp2-kb953195-fullfile-zh-cn.exe
>不想要 源码,只想要 数据库 的 也可以 再联系我;
舒小龙
2014-07-13 12:02
附上源码下载:http://www.shuxiaolong.com/DoAjax/DownloadHandler.ashx?Number=5IBADAP0MRC
『方案』《女友十年精华》 ORC 图片 文字识别 详解的更多相关文章
- “全栈2019”Java多线程第二十四章:等待唤醒机制详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第十六章:同步synchronized关键字详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第十四章:线程与堆栈详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java第九十六章:抽象局部内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第六十四章:接口与静态方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第六十二章:接口与常量详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十九章:抽象类与抽象方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十六章:多态与字段详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十二章:继承与初始化详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- C#XmlHelper操作Xml文档的帮助类
using System.Xml; using System.Data; namespace DotNet.Utilities { /// <summary> /// Xml的操作公共类 ...
- nyoj 1029/hdu 3714 Error Curves 三分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3714 懂了三分思想和F(x)函数的单调性质,这题也就是水题了 #include "stdio ...
- chrome升级54以后,显示Adobe Flash Player 因过期而遭到阻止
请直接下载 最新的Adobe flash player 离线安装包.经测试,在线安装不管用. 百度云地址: install_flash_player_23_ppapi.exe 密码:8c2i
- html的input输入框边框
1.输入框边框完全隐藏<input type="text" style="outline:none;border:0" /> 2.input去边框立 ...
- C++STL之迭代器
迭代器 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围.迭代器就如同一个指针.事实上,C++的指针也是一种迭代器.但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值.例如, ...
- [转]ionic tab view hide tab bar
http://stackoverflow.com/questions/23991852/how-do-i-hide-the-tabs-in-ionic-framework ////// tabs.ht ...
- Linux 系统常用命令汇总(一) 文件和目录操作
文件和目录 命令 选项 注解 示例 文件的基本操作 ls [选项][文件] 显示所有文件和目录 ls -al -a(A) 显示所有文件和目录,包括隐藏文件和目录(显示所有文件和目录,包括隐藏文件和 ...
- 【Android UI设计与开发】5.底部菜单栏(二)使用Fragment实现底部菜单栏
既然 Fragment 取代了TabActivity,当然 TabActivity 的能实现的菜单栏,Fragment 当然也能实现.主要其实就是通过菜单栏的点击事件切换 Fragment 的显示和隐 ...
- 怎样用好ZBrush中的PaintStop插件
PaintStop是ZBrush®3.1的手绘插件,可以比较真实的模拟手绘风格,尤其是用水彩笔刷画水墨风格画.PaintStop插件可供用户免费使用. PaintStop是一款功能强大的插件,已经被添 ...
- hdu 5862 Counting Intersections
传送门:hdu 5862 Counting Intersections 题意:对于平行于坐标轴的n条线段,求两两相交的线段对有多少个,包括十,T型 官方题解:由于数据限制,只有竖向与横向的线段才会产生 ...