opencv.findMultiColor 多点找色是怎么使用的呢?

4

主题

0

回帖

14

积分

新手上路

积分
14
opencv.findMultiColor 多点找色是怎么使用的呢?

举报 回复

28

主题

184

回帖

581

积分

管理员

积分
581
opencv.findMultiColor 多点找色

名称

opencv.findMultiColor

作用

在区域范围内,根据主色,多个偏移辅色,查找1~n个特征

权限

  • root
  • 键鼠
  • 无障碍

语法

opencv.findMultiColor(mat,colour,Color_deviation,deviation,range,sim)

参数

类型

是/否

说明

mat

对象

mat格式截图对象

first_color

字符

主色,先定位主色,16进制颜色,格式为”X坐标,Y坐标,16进制颜色”,

colour

数组

字符数组,16进制颜色,格式为[“X坐标,Y坐标,16进制颜色”],

如:[‘351,452,#553E38’, ‘368,449,#816D78’]

Color_deviation

整数

偏色阈值0~100,10等同于101010

deviation

整数

偏差范围值0~10

range

数组

双精度浮点数数组,取值范围0-1,需要查找的百分比范围,格式为

[

查找区域左上X坐标,

查找区域左上Y坐标,

查找区域右下X坐标,

查找区域右下Y坐标

]

如:[0.03360,0.14222,0.08893,0.17667]

sim

整数

双精度浮点数,相似度,取值范围0-1

返回

类型

是/否

说明

数组/null

数组

成功

位置信息参数

失败

null

注意

名称

screen.screenShot

作用

截图并压缩图片,配合上面函数使用

权限

  • root
  • 键鼠
  • 无障碍

语法

screen.screenShot(width,height,quality)

参数

类型

是/否

说明

width

整数

压缩图片宽度,注意这个宽度不是屏幕分辨率宽度

height

整数

压缩图片高度,注意这个高度不是屏幕分辨率高度

quality

数组

压缩图片清晰度,0~100

返回

类型

是/否

说明

对象/null

对象

成功

位图对象

失败

null

对象方法

类型

是/否

说明

.getMat();

把位图转mat格式,配合screen.screenShot使用

返回

类型

是/否

说明

对象/null

对象

成功

mat格式对象

失败

null


举报 回复

28

主题

184

回帖

581

积分

管理员

积分
581
  1. var mat=screen.screenShot(720,1280,100).getMat();
  2. var seek = opencv.findMultiColor(mat,'607,425,#264878',['601,413,#1E4276','597,428,#1E4276','591,429,#F8FBFF'],2,5,[0.80040,0.30889,0.87549,0.35667],0.95);
  3. if (seek) {
  4.      seek[0].click();  //点击
  5. } else {
  6.     printl("未找到了");
  7. }
复制代码
  1. var mat=screen.screenShot(720,1280,100).getMat();
  2. var seek = opencv.findMultiColor(mat,'607,425,#264878',['601,413,#1E4276','597,428,#1E4276','591,429,#F8FBFF'],2,5,[0.80040,0.30889,0.87549,0.35667],0.95);
  3. if (seek) {
  4.     var place = seek[0].getRealRect();
  5.     var x = place.getCenterX();
  6.     var y = place.getCenterY();
  7.     printl(x+","+y)
  8. } else {
  9.     printl("未找到了");
  10. }
复制代码


举报 回复