图中找色 (:find_color)
声明
横坐标, 纵坐标 = 图片:find_color({
[find_all = 是否搜索多个结果,]
[max_results = 最大结果数,]
[max_miss = 允许最多未命中数,]
[find_order = 找色顺序,]
[csim_algorithm = 颜色相似度算法,]
{起始点横坐标, 起始点纵坐标, 起始点颜色[, 起始点相似度]},
{偏移点横坐标*, 偏移点纵坐标*, 偏移点颜色*[, 偏移点相似度*]},
{偏移点横坐标*, 偏移点纵坐标*, 偏移点颜色*[, 偏移点相似度*]},
...
} [, 全局相似度, 左, 上, 右, 下 ])
参数
-
是否搜索多个结果
布尔型,可选参数,这个标签设置为 true 会返回范围内所有匹配位置的一个表,格式为 {{x1, y1}, {x2, y2}, ...},默认 false -
最大结果数
整数型,可选参数,当 find_all (是否搜索多个结果) 标签设置为 true 的时候,这个表示最多返回结果数,最多可以设为 1000,默认 100 -
允许最多未命中数
整数型,可选参数,可以允许最多的不匹配的点的数量,默认为 0,也就是全命中才算找到 -
找色顺序
整数型,可选参数,代表找色顺序,取值范围 1~8,默认 1找色顺序取值说明
1 上下左右
2 左右上下
3 右左上下
4 上下右左
5 下上右左
6 右左下上
7 左右下上
8 下上左右屏幕找色函数 screen.find_color 没有这个字段
找色顺序演示 -
颜色相似度算法 20250302
整数型,可选参数,颜色相似度算法,默认 0颜色相似度算法
0 为 XXT 默认算法,梯度陡峭,差值使相似度下降很快
1 为曼哈顿算法,梯度平滑
2 为欧几里得算法,梯度平滑 -
起始点横坐标, 起始点纵坐标
整数型,代表起始坐标,它并不是限制找色的范围为固定这一点,而仅仅是给偏移位置一个相对坐标,不理解就填 0, 0 -
起始点颜色
整数型,代表需要搜索的那一点的颜色 -
起始点相似度
整数型,可选参数,需要搜索的那一点颜色的相似度,取值范围 1~100,默认 100 -
偏移点横坐标*, 偏移点纵坐标*
整数型,代表一个偏移位置坐标 -
偏移点颜色*
整数型,代表偏移位置需要匹配的颜色 -
偏移点相似度*
整数型,可选参数,偏移位置的颜色的相似度,取值范围 -100~100,默认 100,负相似度意味着匹配小于该绝对值的相似度 -
全局相似度
整数型,可选参数,如果没有给单个点设置相似度,那么每一点都会用这个相似度,取值范围 1~100,默认 100 -
左, 上, 右, 下
整数型,可选参数,代表搜索区域,默认 全图
返回值
- 横坐标, 纵坐标
整数型,返回匹配色的第一个色的坐标,搜索失败返回 -1, -1
说明
使用相似度模式查找,获取区域中第一个完全匹配的多点颜色结构的位置
偏色模式用法参考 多点色偏模式找色 (screen.find_color)
示例
图片 = screen.image()
x, y = 图片:find_color({
{ 0, 0, 0xec1c23},
{ 12, -3, 0xffffff, 85},
{ 5, -18, 0x00adee},
{ -1, -10, 0xffc823},
{ 2, -34, 0xa78217},
{ 12, -55, 0xd0d2d2},
}, 90, 0, 0, 100, 100)
--
--[[
在图片左上为 0, 0 右下为 100, 100 的区域找到第一点与 0xec1c23 相似度大于 90
且它的相对坐标 (12, -3) 的位置的颜色与 0xffffff 相似度大于 85
且它的相对坐标 (5, -18) 的位置的颜色与 0x00adee 相似度大于 90
且…… (后面的同理) 都能匹配的那个点
--]]
--
-- 等效代码如下:
--
x, y = 图片:find_color({
{ 509, 488, 0xec1c23},
{ 521, 485, 0xffffff, 85},
{ 514, 470, 0x00adee},
{ 508, 478, 0xffc823},
{ 511, 454, 0xa78217},
{ 521, 433, 0xd0d2d2},
}, 90, 0, 0, 100, 100)
--
--[[
在图片左上为 0, 0 右下为 100, 100 的区域找到第一点与 0xec1c23 相似度大于 90
且它的相对坐标 (521-509, 485-488) 的位置的颜色与 0xffffff 相似度大于 85
且它的相对坐标 (514-509, 470-488) 的位置的颜色与 0x00adee 相似度大于 90
且…… (后面的同理) 都能匹配的那个点
--]]