开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 852|回复: 6
收起左侧

[完成] 求一个easyclick找图例子

 关闭 [复制链接]
结帖率:50% (3/6)
发表于 2023-9-25 10:30:45 | 显示全部楼层 |阅读模式   山东省青岛市
46精币
image.findImage(screenImage, smallTmplate,50, 4225, 1030, 2090,0.7, 0.9, 21, 5);
请问, 这个找图的方法中,是抓取了屏幕之后, 然后在左上右下坐标区域内找小图返回坐标数组吗?

我用这个返回null

求一个找图例子

最佳答案

查看完整内容

汗...你没看懂文档,x=最左边,y=最上边,ex=最右边,ey=最下边,所以你这个50, 4225, 1030, 2090参数就有问题,最上面是4225,最下面是2090,下面比上面大肯定出错找不到啊,新手用IDE自带的工具测速后生成代码
结帖率:96% (26/27)

签到天数: 5 天

发表于 2023-9-25 10:30:46 | 显示全部楼层   广西壮族自治区桂林市
菠萝儿 发表于 2023-9-25 11:35
我看文档了,

image.findImage(screenImage, smallTmplate,50, 4225, 1030, 2090,0.7, 0.9, 21, 5);

汗...你没看懂文档,x=最左边,y=最上边,ex=最右边,ey=最下边,所以你这个50, 4225, 1030, 2090参数就有问题,最上面是4225,最下面是2090,下面比上面大肯定出错找不到啊,新手用IDE自带的工具测速后生成代码
回复

使用道具 举报

结帖率:84% (21/25)

签到天数: 8 天

发表于 2023-9-25 10:54:08 | 显示全部楼层   辽宁省沈阳市

function main() {
let  request = image.requestScreenCapture(10000,0); //申请无障碍+截图权限
if (request){
     toast("申请成功");
}else {
    toast("申请失败");
     exit();
}
  let   d= image.initOpenCV();
   logd(d)
//申请完权限至少等1s(垃圾设备多加点)再截图,否则会截不到图
sleep(1000)
//从工程目录下res文件夹下读取sms.png文件
let sms=readResAutoImage("sms.png");//这个是小图
//抓取屏幕
let aimage = image.captureFullScreen();//这个是屏幕截图
logd("aimage "+aimage);
if (aimage != null) {
    //在图片中查找
    let points = image.findImage(aimage, sms,0, 0, 0, 0,0.7, 0.9, 21, 5);
    logd("points " + JSON.stringify(points));
    //这玩意是个数组
    if(points && points.length> 0){
        for(let i=0;i<points.length;i++){
                logd(points[i])
                let x = parseInt((points[i].left + points[i].right)/2)
                let y = parseInt((points[i].top + points[i].bottom)/2)
                //点击坐标
                clickPoint(x,y)
       }
    }
     //图片要回收
     image.recycle(aimage)
}
//图片要回收
image.recycle(sms)
}

main();
回复

使用道具 举报

结帖率:50% (3/6)

签到天数: 11 天

 楼主| 发表于 2023-9-25 11:00:27 | 显示全部楼层   山东省青岛市
一水情深 发表于 2023-9-25 10:54
function main() {
let  request = image.requestScreenCapture(10000,0); //申请无障碍+截图权限
if (r ...

我就按这文档来的
回复

使用道具 举报

结帖率:96% (26/27)

签到天数: 5 天

发表于 2023-9-25 11:27:48 | 显示全部楼层   广西壮族自治区桂林市
image.findImage 找图
找图。在大图片image中查找小图片template的位置(模块匹配),找到时返回位置坐标区域(Rect),找不到时返回null。
@param image 大图片
@param template 小图片(模板)
@param x 找图区域 x 起始坐标
@param y 找图区域 y 起始坐标
@param ex 终点X坐标
@param ey 终点Y坐标
@param weakThreshold 弱阈值。该值用于在每一轮模板匹配中检验是否继续匹配。如果相似度小于该值,则不再继续匹配。取值范围为0~1的浮点数。默认值为0.7。
@param threshold 图片相似度。取值范围为0~1的浮点数。默认值为0.9。
@param limit 限制结果的数量,如果要找到1个,就填写1,如果是多个请填写多个
@param method 0: TM_SQDIFF平方差匹配法,1: TM_SQDIFF_NORMED归一化平方差匹配方法,2: TM_CCORR相关匹配法,3: TM_CCORR_NORMED归一化相关匹配法,4: TM_CCOEFF系数匹配法,5: TM_CCOEFF_NORMED归一化系数匹配法
@Return Rect 区域坐标对象数组或者null


IDE插件有图色工具
回复

使用道具 举报

结帖率:96% (26/27)

签到天数: 5 天

发表于 2023-9-25 11:28:15 | 显示全部楼层   广西壮族自治区桂林市
function main() {
let  request = image.requestScreenCapture(10000,0);
if (request){
     toast("申请成功");
}else {
    toast("申请失败");
     exit();
}
  let   d= image.initOpenCV();
   logd(d)
//申请完权限至少等1s(垃圾设备多加点)再截图,否则会截不到图
sleep(1000)
//从工程目录下res文件夹下读取sms.png文件
let sms=readResAutoImage("sms.png");
//抓取屏幕
let aimage = image.captureFullScreen();
logd("aimage "+aimage);
if (aimage != null) {
    //在图片中查找
    let points = image.findImage(aimage, sms,0, 0, 0, 0,0.7, 0.9, 21, 5);
    logd("points " + JSON.stringify(points));
    //这玩意是个数组
    if(points && points.length> 0){
        for(let i=0;i<points.length;i++){
                logd(points[i])
                let x = parseInt((points[i].left + points[i].right)/2)
                let y = parseInt((points[i].top + points[i].bottom)/2)
                //点击坐标
                clickPoint(x,y)
       }
    }
     //图片要回收
     image.recycle(aimage)
}
//图片要回收
image.recycle(sms)
}

main();
回复

使用道具 举报

结帖率:50% (3/6)

签到天数: 11 天

 楼主| 发表于 2023-9-25 11:35:45 | 显示全部楼层   山东省青岛市
74596877 发表于 2023-9-25 11:27
image.findImage 找图
找图。在大图片image中查找小图片template的位置(模块匹配),找到时返回位置坐标区 ...

我看文档了,

image.findImage(screenImage, smallTmplate,50, 4225, 1030, 2090,0.7, 0.9, 21, 5);
请问, 这个找图的方法中,是抓取了屏幕之后, 然后在左上右下坐标区域内找小图返回坐标数组吗?

是这样执行的吗
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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