多分辨率找图sift和直方图

牙叔教程 简单易懂

测试图片

小图, 从大图右下角裁剪出来的
在这里插入图片描述

大图, 分辨率1280X720
在这里插入图片描述

对大图的更改分三种

  1. 不更改大图, 这又分两种, 一种是裁剪大图右下角后再对比, 一种是不裁剪
  2. 大图保持纵横比, 缩放至70%
  3. 大图不保持纵横比, 将宽度改为1000, 高度保持原来的720

三种效果展示

1. 不更改大图, 且不裁剪大图
最佳匹配特征点的数量 = 60
找图时间: 593ms
直方图对比 = 0.9420728414825477

在这里插入图片描述

2. 不更改大图, 且裁剪大图
最佳匹配特征点的数量 = 63
找图时间: 210ms
直方图对比 = 0.9420728414825477

在这里插入图片描述

3. 大图缩放至70%
最佳匹配特征点的数量 = 10
找图时间: 330ms
直方图对比 = 0.8781176823119982

在这里插入图片描述

4. 宽度改为1000
最佳匹配特征点的数量 = 4
找图时间: 543ms
直方图对比 = 0.8643715691444815

在这里插入图片描述

环境

手机: Mi 11 Pro

Android版本: 11

Autojs版本: 9.0.10

autojs自带opencv版本: 4.5.1

总结

从以上测试来看, sift对多分辨率的找图, 效果还可以,

但也仅仅是还可以而已,实际上他只适合一部分的找图场景,

比如, 透明按钮这种, sift就不行了,

透明按钮这种用轮廓查找, 效果还稍微好点,

从时间上来看, 大图的分辨率越低, 时间消耗越短,

所以我们找图的时候, 最好对小图可能存在的区域, 进行裁剪,

以便, 提升找图效率,

并且, 我觉得光用图片特征点, 找图还是不准,

所以我又加了一个维度: 直方图,

可以辅助判断, 找到的图片是不是我们想要的图片,

还有一个问题是, 我们既要保证, 我们能找到图片,

同时还要保证, 我们找到的图片, 确实是我们要找的图片,

你不能去找到一个类似的图片给我,

举个例子: 我爱你.jpg, 我爱他.jpg,

我们要找我爱你.jpg,

从特征上来说, sift有66%的概率, 找到我爱他.jpg,

并且sift认为这张图片就是我们想要的, 但其实不是,

我们要找的是我爱你.jpg,

这也是为什么我要添加直方图比较的原因

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, 安卓文档, autojs文档, 最后才是群里问问
— 牙叔教程

声明

部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

bilibili

牙叔教程

微信公众号 牙叔教程

在这里插入图片描述

QQ群

747748653
在这里插入图片描述

完整源码

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牙叔教程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值