找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4403|回复: 9

[已解决] 有AB两张图,根据A图的图案/形状在B图中找到他所在的位置

4

主题

15

帖子

15

积分

贫民

积分
15
Ashimar 发表于 2018-3-7 10:34:05 | 显示全部楼层 |阅读模式
本帖最后由 Ashimar 于 2018-3-31 15:00 编辑

各位大佬,我有个需求是这样的,有AB两张图,根据A图的图案/形状在B图中找到他所在的位置(x, y, w, h),不固定位置,不固定大小。 这个用什么来做比较好[表情][表情][表情] 求大神讲解。

回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-3-7 11:10:56 | 显示全部楼层
看到过有人用opencv实现这种功能。
回复 支持 反对

使用道具 举报

4

主题

15

帖子

15

积分

贫民

积分
15
Ashimar  楼主| 发表于 2018-3-7 11:39:33 | 显示全部楼层
sheeboard 发表于 2018-3-7 11:10
看到过有人用opencv实现这种功能。

我也知道opencv 没有思路
回复 支持 反对

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2018-3-7 13:26:20 | 显示全部楼层
转换成像素矩阵,在B矩阵中找与A矩阵相同的位置
回复 支持 反对

使用道具 举报

4

主题

15

帖子

15

积分

贫民

积分
15
Ashimar  楼主| 发表于 2018-3-9 17:14:52 | 显示全部楼层
uitb 发表于 2018-3-7 13:26
转换成像素矩阵,在B矩阵中找与A矩阵相同的位置

"在B矩阵中找与A矩阵相同的位置" 这要用什么算法?
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
QQ
Benson.Cai 发表于 2018-3-12 10:46:09 | 显示全部楼层
用Opencv的模板匹配
回复 支持 反对

使用道具 举报

4

主题

15

帖子

15

积分

贫民

积分
15
Ashimar  楼主| 发表于 2018-3-12 17:45:58 | 显示全部楼层
Benson.Cai 发表于 2018-3-12 10:46
用Opencv的模板匹配

用过这个,它有一个弊端是当该图片没有此模板时,也能给你匹配个位置出来,加了阈值之后,圈出了一大堆……好尴尬。请问下您模板匹配是否有return 匹配精确度的,我debug 之后没有发现相关的字段。
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
QQ
Benson.Cai 发表于 2018-3-20 11:12:51 | 显示全部楼层
Ashimar 发表于 2018-3-12 17:45
用过这个,它有一个弊端是当该图片没有此模板时,也能给你匹配个位置出来,加了阈值之后,圈出了一大堆… ...

匹配精度可以自己设置一个阈值,然后通过numpy的np.where()方法可以筛选出来。

  1.             #使用matchTemplate对原始灰度图像和图像模板进行匹配
  2.             res = cv2.matchTemplate(srcImg,temp,cv2.TM_CCOEFF_NORMED)
  3.             #设定阈值
  4.             threshold = 0.9
  5.             #res大于90%
  6.             loc = np.where(res >= threshold)
复制代码
回复 支持 反对

使用道具 举报

4

主题

15

帖子

15

积分

贫民

积分
15
Ashimar  楼主| 发表于 2018-3-31 14:22:55 | 显示全部楼层
Benson.Cai 发表于 2018-3-20 11:12
匹配精度可以自己设置一个阈值,然后通过numpy的np.where()方法可以筛选出来。
...

好的,感谢回复,我去试试看
回复 支持 反对

使用道具 举报

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

本版积分规则

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