设为首页收藏本站 距【华南国际工业博览会】开幕 : :

51Halcon机器视觉

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 2657|回复: 4
收起左侧

[待解决] 微信跳一跳简单图像识别方法

[复制链接]

该用户从未签到

2

主题

0

帖子

146

积分

Rank: 1

积分
146

切换助手验证会员

发表于 2018-1-28 13:16:49 | 显示全部楼层 |阅读模式

51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

您需要 登录 才可以下载或查看,没有帐号?会员注册

x
我想到的第一个方法: (缺陷是只能对图像颜色深度高的)
1516771966845495.png
  1. dev_set_draw ('margin')
  2. read_image (Image, 'C:/Users/6013_1.jpeg')
  3. stop ()
  4. rgb1_to_gray(Image, GrayImage)
  5. threshold (Image, Regions, 0, 135)
  6. opening_rectangle1 (Regions, RegionOpening, 15, 15)
  7.   
  8. connection(RegionOpening, ConnectedRegions)
  9. select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 20045.9, 30137.6)
  10. opening_rectangle1 (SelectedRegions, RegionOpening1, 35, 35)
  11. count_obj (RegionOpening1, Number)
  12. for Index := 1 to Number by 1
  13.     select_obj (RegionOpening1, ObjectSelected, Index)
  14.     smallest_rectangle2 (ObjectSelected, Row, Column, Phi, Length1, Length2)
  15.     area_center (ObjectSelected, Area, Row1, Column1)
  16.     gen_circle (Circle, Row1, Column1, 5)
  17.     gen_rectangle2 (ObjectSelected, Row, Column, Phi, Length1, Length2)
  18. endfor
复制代码
第二版改进了下按照区域连同 + 面积选择 来做. 基本实现了简单图形的功能
1516971606164095.png
  1. *dev_set_draw ('margin')
  2. read_image (Image, 'C:/Users/Administrator/Desktop/t1t/IMG_2330.PNG')
  3. stop ()
  4. rgb1_to_gray(Image, GrayImage)
  5. mean_image (GrayImage, ImageMean, 9, 9)
  6. regiongrowing (ImageMean, Regions, 3, 3, 1, 300)
  7. select_shape (Regions, SelectedRegions, 'area', 'and', 11592.2, 30018.2)
  8.   
  9. count_obj (SelectedRegions, Number)
  10. for Index := 1 to Number by 1
  11.     select_obj (SelectedRegions, ObjectSelected, Index)
  12.     area_center (ObjectSelected, Area, Row1, Column1)
  13.     gen_circle (Circle, Row1, Column1, 5)
  14. endfor
复制代码
嗯..如果遇到复杂的图像,还是差强人意. 所以我重新写了个专门找找小人的代码
  1. read_image (Image, 'C:/Users/Administrator/Desktop/t1t/IMG_2339.PNG')
  2. stop ()
  3. rgb1_to_gray(Image, GrayImage)
  4.   
  5. scale_image (GrayImage, ImageScaled1, 7.72727, -394)
  6. threshold (ImageScaled1, Regions, 0, 253)
  7. erosion_circle (Regions, RegionErosion, 15)
  8. fill_up (RegionErosion, RegionFillUp)
  9. area_center (RegionFillUp, Area, Row1, Column1)
  10. gen_circle (Circle, Row1, Column1, 5)
复制代码
再复杂的图像,例如下面的,矩形里有很多条纹,就不知道怎么处理好点了, 另外还有个 魔方 样式的..
IMG_2339.PNG

这两天想利用模板匹配来识别, 还在研究,不知道效果如何

1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

  • TA的每日心情
    点赞
    5 小时前
  • 签到天数: 1064 天

    连续签到: 18 天

    [LV.10]以坛为家III

    394

    主题

    1603

    帖子

    7940

    积分

    Rank: 9

    积分
    7940

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2018-1-28 13:55:11 | 显示全部楼层
    好像很厉害的样子哦!图像算法部分应该还好吧,找到每个屏幕对应的分辨率,对应的像素中心偏差和每个像素大概的时间大小就可以接近目标按压的时间了!图像部分主要要分割每个区域单独的最大的矩形或者圆形,然后需要定位小人所在的位置,模板定位可以搞定。
    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系

    该用户从未签到

    2

    主题

    0

    帖子

    146

    积分

    Rank: 1

    积分
    146

    切换助手验证会员

     楼主| 发表于 2018-1-28 14:34:39 | 显示全部楼层
    51Halcon 发表于 2018-1-28 13:55
    好像很厉害的样子哦!图像算法部分应该还好吧,找到每个屏幕对应的分辨率,对应的像素中心偏差和每个像素大 ...

    嗯, 新学hc , 模板匹配正在实验, 可能我模板物体选的太多了(其实是每种形状都弄成了个单独模板,汗) , 然后匹配的时候总是匹配到比实际更多,:L , 路漫漫,哈

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    该用户从未签到

    2

    主题

    0

    帖子

    146

    积分

    Rank: 1

    积分
    146

    切换助手验证会员

     楼主| 发表于 2018-1-30 17:20:34 | 显示全部楼层
    本帖最后由 popdes 于 2018-1-30 17:28 编辑

    第四版:
    利用查找边缘 , 滤波之后按照行坐标排序,提取第一个边缘线, 画出这个边缘线的最小外接圆, 获取到外接圆的圆心坐标 即为 下一个跳板的中心坐标.
    小人坐标继续利用上面的方法实现.
    存在的问题: 可能边缘方法用的不好, 外接圆有时候圆心会靠边缘. 估计实际测试中有可能会跳出跳板导致摔死......
    抛砖引玉吧, 这个边缘未进行优化和处理, 主要是刚刚接触halcon , 希望有人能购优化以下, 跳的更准点.......

    工程下载: 跳一跳.zip (948.16 KB, 下载次数: 15)

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    该用户从未签到

    2

    主题

    0

    帖子

    146

    积分

    Rank: 1

    积分
    146

    切换助手验证会员

     楼主| 发表于 2018-1-30 17:22:20 | 显示全部楼层
    下面这张就是代码中的bg.png图片了.. 就是跳一跳的纯色背景

    背景图

    背景图

    1.发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    2.提问请组织好自己的逻辑,标题注明大概是什么问题,问题内容写详细,需提供问题症状、错误代码、截图、位置等等信息,不要让别人去猜你想问啥;

    3.如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    4.回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则


    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    申请友链| 小黑屋| 手机版| Archiver| 有问题需要咨询站长?|  

    © 2015-2021 51Halcon机器视觉  X3.4  粤ICP备15095995号-2 粤公网安备44030602000670号

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