开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 163|回复: 7
收起左侧

[完成] 大漠找图怎么判断相同图片的数量

 关闭 [复制链接]
结帖率:79% (48/61)
发表于 2024-11-7 12:58:12 | 显示全部楼层 |阅读模式   河南省信阳市
50精币
大漠找图范围内,怎么判断有相同的图片,命令是什么
最好用代码演示出来。

最佳答案

查看完整内容

.版本 2 .支持库 spec .子程序 _按钮1_被单击 .局部变量 文本, 文本型, , "0" 文本 = 分割文本 (“1,1|2,2|3,3”, “|”, ) 调试输出 (取数组成员数 (文本))

签到天数: 22 天

发表于 2024-11-7 12:58:13 | 显示全部楼层   四川省宜宾市
zhangli9271 发表于 2024-11-7 13:17
时间长忘记了怎么分割文本,你有空能用代码给我演示一下不大哥,谢谢! ...
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
文本文本型0
文本 = 分割文本 (“1,1|2,2|3,3”, “|”, )
调试输出 (取数组成员数 (文本))


i支持库列表   支持库注释   
spec特殊功能支持库

回复

使用道具 举报

签到天数: 22 天

发表于 2024-11-7 12:59:29 | 显示全部楼层   四川省宜宾市
  
子程序名返回值类型公开备 注
大漠_找图高级文本型 
参数名类 型参考可空数组备 注
图片名文本型
相似度小数型
查找方向整数型查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
左上x整数型
左上y整数型
右下x整数型
右下y整数型
变量名类 型静态数组备 注
找到图坐标文本型 
找图名字文本型 
找图方式文本型 
找图方式 = “FindPicEx”
找图名字 = 图片名
如果 (是否为空 (左上x) 是否为空 (右下x))
找到图坐标 = dmdxc.文本方法 (找图方式, 0, 0, 取屏幕宽度 (), 取屏幕高度 (), 找图名字, “000000”, 相似度, 查找方向)
如果 (是否为空 (右下x))
找到图坐标 = dmdxc.文本方法 (找图方式, 左上x, 左上y, 取屏幕宽度 (), 取屏幕高度 (), 找图名字, “000000”, 相似度, 查找方向)
找到图坐标 = dmdxc.文本方法 (找图方式, 左上x, 左上y, 右下x, 右下y, 找图名字, “000000”, 相似度, 查找方向)

返回 (找到图坐标)

评分

参与人数 1好评 +1 精币 +2 收起 理由
dwcq + 1 + 2 YYDS~!

查看全部评分

回复

使用道具 举报

签到天数: 22 天

发表于 2024-11-7 12:59:55 | 显示全部楼层   四川省宜宾市
函数简介:

查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.

这个函数可以查找多个图片,并且返回所有找到的图像的坐标.

函数原型:

string FindPicEx(x1, y1, x2, y2, pic_name, delta_color,sim, dir)

参数定义:

x1 整形数:区域的左上X坐标
y1 整形数:区域的左上Y坐标
x2 整形数:区域的右下X坐标
y2 整形数:区域的右下Y坐标
pic_name 字符串:图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"
delta_color 字符串:颜色色偏 比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示) . 如果这里的色偏是2位,表示使用灰度找图. 比如"20"
sim 双精度浮点数:相似度,取值范围0.1-1.0
dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上

返回值:

字符串:
返回的是所有找到的坐标格式如下:"id,x,y|id,x,y..|id,x,y" (图片左上角的坐标)

比如"0,100,20|2,30,40" 表示找到了两个,第一个,对应的图片是图像序号为0的图片,坐标是(100,20),第二个是序号为2的图片,坐标(30,40)
(由于内存限制,返回的图片数量最多为1500个左右)

示例:


dm_ret = dm.FindPicEx(0,0,2000,2000,"test.bmp|test2.bmp|test3.bmp|test4.bmp|test5.bmp","020202",1.0,0)
If len(dm_ret) > 0 Then
   ss = split(dm_ret,"|")
   index = 0
   count = UBound(ss) + 1
   Do While index < count
      TracePrint ss(index)
      sss = split(ss(index),",")
      id = int(sss(0))
      x = int(sss(1))
      y = int(sss(2))
      dm.MoveTo x,y
      Delay 1000
      index = index+1
   Loop
End If
回复

使用道具 举报

结帖率:79% (48/61)
 楼主| 发表于 2024-11-7 13:04:01 | 显示全部楼层   河南省信阳市
LEOONL 发表于 2024-11-7 12:59
函数简介:

查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则 ...

我只要判断他有到有几个图片就行,不要返回坐标
回复

使用道具 举报

签到天数: 22 天

发表于 2024-11-7 13:06:50 | 显示全部楼层   四川省宜宾市
zhangli9271 发表于 2024-11-7 13:04
我只要判断他有到有几个图片就行,不要返回坐标

分割返回的坐标 “|”  取数组成员数就可以了
回复

使用道具 举报

结帖率:79% (48/61)
 楼主| 发表于 2024-11-7 13:07:25 | 显示全部楼层   河南省信阳市
图片 = dm.FindPicEx (107, 85, 532, 355, “图片1.bmp”, “101010”, 0.6, 0)
比如有5个相同的图片他返回是这些坐标
“0,124,153|0,177,153|0,230,153|0,282,153|0,335,153”
我怎么判断他找到的数量是几个
回复

使用道具 举报

结帖率:79% (48/61)
 楼主| 发表于 2024-11-7 13:17:27 | 显示全部楼层   河南省信阳市
LEOONL 发表于 2024-11-7 13:06
分割返回的坐标 “|”  取数组成员数就可以了

时间长忘记了怎么分割文本,你有空能用代码给我演示一下不大哥,谢谢!
回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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