tab.zhang
技术员
技术员
  • 最后登录2017-04-03
  • 发帖数19
  • 金币156枚
  • 贡献勋章0枚
阅读:14618回复:354

Halcon OCR 识别

楼主#
更多 发布于:2015-08-19 16:33
刚才学习Halcon,想实现以下功能,大家给个思路!

例如输入L100,程序将L100所在的方框填充为透明的黄色,谢谢大家!!!

图片:O.bmp

guanrb
专家
专家
  • 最后登录2017-04-24
  • 发帖数55
  • 金币2545枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
沙发#
发布于:2015-08-20 17:59
不知下图是否是你想要的结果?

图片:L100.png


思路:二值化提取字符区域,然后旋转0、90、180、270后分别识别字符,在识别后的字符串中寻找要找的字符串,找到后提取字符串的外接矩形框,然后再寻找包含字符串外接矩形框的芯片框。

实现代码如下:
本部分内容设定了隐藏,需要回复后才能看到

以下情况代码未作处理,需要的话自己在这个基础上修改:
1、字符串在芯片框外;
2、部分字符串和芯片框搭在了一起,无法分割出独立的字符串;
3、0很容易被识别成了O,1倒过来会被识别成L,可能还有其他的字符识别问题,应该是字体库和你这的字符不完全匹配导致的问题,可以自己训练;
4、不知道是sort_region的bug还是怎么着,某些地方的字符串排序时错了,例如寻找L10,只找到了4个,如下图,L105没有找到,原因是排序时他们的位置没有被排在一起。

图片:L10.png

[guanrb于2015-08-21 10:13编辑了帖子]
maxwan
初学者
初学者
  • 最后登录2017-02-15
  • 发帖数11
  • 金币60枚
  • 贡献勋章0枚
  • 社区居民
板凳#
发布于:2015-08-20 20:37
学习学习ing,挺神奇的
loveq007
助理工程师
助理工程师
  • 最后登录2017-04-21
  • 发帖数33
  • 金币531枚
  • 贡献勋章0枚
  • 社区居民
地板#
发布于:2015-08-21 00:03
学习学习!!!!!!!
陈氏家族
工程师
工程师
  • 最后登录2016-11-03
  • 发帖数91
  • 金币996枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
4楼#
发布于:2015-08-21 08:20
是为了看隐藏内容的。。。
强劲的执行力胜过百倍的畅想!
此地无银两
助理工程师
助理工程师
  • 最后登录2017-04-21
  • 发帖数31
  • 金币578枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
5楼#
发布于:2015-08-21 08:26
是为了看隐藏内容的。。。
2638jrx
专家
专家
  • 最后登录2015-12-23
  • 发帖数107
  • 金币3380枚
  • 贡献勋章0枚
  • 社区居民
6楼#
发布于:2015-08-21 08:56
guanrb:不知下图是否是你想要的结果?

思路:二值化提取字符区域,然后旋转0、90、180、270后分别识别字符,在识别后的字符串中寻找要找的字符串,找到后提取字符串的外接矩形框,然后再寻找包含字符串外接矩形框的芯片框。
实现代码如下:
以...
回到原帖
视觉界引领未来科技······
jia1119527249
工程师
工程师
  • 最后登录2017-03-02
  • 发帖数30
  • 金币844枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
7楼#
发布于:2015-08-21 09:03
學習一下。。。。。。。。。。。。。
nxsf8023
助理工程师
助理工程师
  • 最后登录2016-06-24
  • 发帖数76
  • 金币360枚
  • 贡献勋章0枚
  • 社区居民
8楼#
发布于:2015-08-21 09:16
学习一下,试试效果。
stonenb
专家
专家
  • 最后登录2017-04-24
  • 发帖数76
  • 金币2543枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
9楼#
发布于:2015-08-21 09:47
厉害,学习处理过程。。
2638jrx
专家
专家
  • 最后登录2015-12-23
  • 发帖数107
  • 金币3380枚
  • 贡献勋章0枚
  • 社区居民
10楼#
发布于:2015-08-21 09:48
大神的代码比较给力,整体的处理过程中思维是比较缜密的,美中不足的地方也有,比如参数设定的比较粗略,还有运行中出现一些小错误,不知道是粘贴错误还是怎样····
视觉界引领未来科技······
guanrb
专家
专家
  • 最后登录2017-04-24
  • 发帖数55
  • 金币2545枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
11楼#
发布于:2015-08-21 10:01
2638jrx:大神的代码比较给力,整体的处理过程中思维是比较缜密的,美中不足的地方也有,比如参数设定的比较粗略,还有运行中出现一些小错误,不知道是粘贴错误还是怎样····回到原帖


代码比较粗糙,没有细调,还有不少特殊情形没有处理。出错应该是复制的问题吧,已经改成了附件形式。
我这里只是抛砖引玉,应该还有很多其他的思路处理这个问题,比如先将相邻的字符区域串在一起然后再旋转识别,识别后判断是否包含寻找的字符串,这样比较准确。
qingzhuye
工程师
工程师
  • 最后登录2017-03-19
  • 发帖数117
  • 金币712枚
  • 贡献勋章0枚
  • 社区居民
12楼#
发布于:2015-08-21 10:49
正在学字符识别,正好可以学习一下了
haoxiangqiu255
技术员
技术员
  • 最后登录2016-09-05
  • 发帖数27
  • 金币109枚
  • 贡献勋章0枚
  • 社区居民
13楼#
发布于:2015-08-21 10:54
挺不错的例子,学习来着
ivan_hjj
助理工程师
助理工程师
  • 最后登录2017-04-13
  • 发帖数39
  • 金币562枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
14楼#
发布于:2015-08-21 10:58
guanrb:不知下图是否是你想要的结果?

思路:二值化提取字符区域,然后旋转0、90、180、270后分别识别字符,在识别后的字符串中寻找要找的字符串,找到后提取字符串的外接矩形框,然后再寻找包含字符串外接矩形框的芯片框。

实现代码如下: ...
回到原帖
nice job
上一页
游客

返回顶部