|
本帖后由 老清洁工 于 2020-4-28 16:09 编辑
python做脚本是很方便的,和模拟器配合简直是绝了。
下面是我写的比色代码,各位觉得如何?在此基础上,要实现找色也是很不错的,请期待我的下一篇文章。
- # 由于我们习惯性的这样写颜色值,所以写个函数专门转换一下
- # 0xRRGGBB
- def color2array(c):
- r = (c & 0xFF0000) >> 16
- g = (c & 0x00FF00) >> 8
- b = (c & 0x0000FF)
- return b, g, r # opencv读入内存的格式是BGR,所以倒着返回
- # 单个点对比,比色和找色都会用到
- def color_cmp(image, x, y, b1, g1, r1, sim):
- b2 = image.item(y, x, 0)
- g2 = image.item(y, x, 1)
- r2 = image.item(y, x, 2)
- sim = (1 - sim) * 255
- return abs(b2 - b1) < sim and abs(g2 - g1) < sim and abs(r2 - r1) < sim
- # 多点比色
- def mcc(image, color_list, sim=0.9):
- if len(color_list) == 0:
- return False
- for c in color_list:
- b1, g1, r1 = color2array(c[2])
- if not color_cmp(image, c[0], c[1], b1, g1, r1, sim):
- return -1, -1
- return color_list[0][0], color_list[0][1]
复制代码
打个小广告:
作者公众号:老清洁工
二维码:
二维码:
|
|