SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5019|回复: 0
打印 上一主题 下一主题

[Discuss] OCR

[复制链接]

149

主题

331

帖子

2445

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2445
跳转到指定楼层
楼主
发表于 2017-12-3 11:11:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ancientcc 于 2017-12-4 16:05 编辑

  • min_threshold_gap:两个字符间最小间距。
  • min_threshold_width:一个字符最小宽度。对左右结构汉字,偏旁也要>=这个宽度。
  • min_threshold_height:一个字符最小高度。是经过闭操作后才会用它作判断,于是上下结构已被连通。设定这个值时主要考虑标点符号的门限值。


定位字符。定位字符指的是这么个过程,给定某个矩形区(src),找出可能是字符的最大矩形区(char_rect)。

语法
  1. bool locate_character(const cv::Mat& src, const SDL_Rect& base_rect, const int min_estimate_width, bool right, SDL_Rect& result_rect, bool verbose, int step)
复制代码

参数
src定位时要用OpenCV,于是src是个便于操作的cv::Mat结构,输入矩形就是(0, 0, src.cols, src.rows)。
base_rect, min_estimate_width, right<Param2 description>
result_rect[OUT]result_rect中的左上角坐标是在输入矩形内的偏移。
verbosetrue时让输出过程中一些中间处理图像。
step影响输出文件中的文件名,0-<step>-0-clip-origin.png。


返回值
区域中是否有有效字符。返回true时,result_rect指示更精准定位出的区域。

base_rect空时有可能返回false。返回false时,result_rect指示了“应该”被略过的区域。“应该”的意思是这区域中没字符,既然没字符,后续逻辑忽略这部分区域,在后部部分继续找字符。下图红色标注显示了返回false时result_rect中的x、w值。

向右扩展时,result_rect.x总是0,result_rect.w则是“应该”忽略的宽度。向左扩展时,result_rect.x+result_rect.w总是clip_rect.w,result_rect.w则是“应该”忽略的宽度。

范例
  1. <Example>
复制代码


注释
base_rectmin_estimate_widthright实例
由内向外扩展非空-1X更精准定位出强种子字符区域
向右扩展>0true行扩展时向右扩展
向左扩展>0false行扩展时向左扩展


相关类、函数
<Relative class, function>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2025-5-2 04:03 , Processed in 0.056189 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表