|
本帖最后由 ancientcc 于 2017-12-4 16:05 编辑
- min_threshold_gap:两个字符间最小间距。
- min_threshold_width:一个字符最小宽度。对左右结构汉字,偏旁也要>=这个宽度。
- min_threshold_height:一个字符最小高度。是经过闭操作后才会用它作判断,于是上下结构已被连通。设定这个值时主要考虑标点符号的门限值。
定位字符。定位字符指的是这么个过程,给定某个矩形区(src),找出可能是字符的最大矩形区(char_rect)。
语法
- 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中的左上角坐标是在输入矩形内的偏移。 | verbose | true时让输出过程中一些中间处理图像。 | 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则是“应该”忽略的宽度。
范例
注释
| base_rect | min_estimate_width | right | 实例 | 由内向外扩展 | 非空 | -1 | X | 更精准定位出强种子字符区域 | 向右扩展 | 空 | >0 | true | 行扩展时向右扩展 | 向左扩展 | 空 | >0 | false | 行扩展时向左扩展 |
相关类、函数
<Relative class, function> |
|