level 1
zrlotus
楼主
我在网上找到个函数:
fromctypesimport * # 获取屏幕上某个坐标的颜色
def get_color(x, y):
gdi32 = windll.gdi32
user32 = windll.user32
hdc = user32.GetDC(None) # 获取颜色值
pixel = gdi32.GetPixel(hdc, x, y) # 提取RGB值
r = pixel & 0x0000ff
g = (pixel & 0x00ff00) >> 8
b = pixel >> 16
return [r, g, b]
本来这个函数挺好用,但就是有个问题:速度太慢啦!扫描区区30*30这么小的范围,总共900像素点吧,都需要15秒左右!算来60像素点/秒的处理速度,跟录像啊录屏啊处理图像信息的速度相差也太大了吧?问题出在哪里?
请各位大佬不吝赐教,谢谢!
2021年02月14日 10点02分
1
fromctypesimport * # 获取屏幕上某个坐标的颜色
def get_color(x, y):
gdi32 = windll.gdi32
user32 = windll.user32
hdc = user32.GetDC(None) # 获取颜色值
pixel = gdi32.GetPixel(hdc, x, y) # 提取RGB值
r = pixel & 0x0000ff
g = (pixel & 0x00ff00) >> 8
b = pixel >> 16
return [r, g, b]
本来这个函数挺好用,但就是有个问题:速度太慢啦!扫描区区30*30这么小的范围,总共900像素点吧,都需要15秒左右!算来60像素点/秒的处理速度,跟录像啊录屏啊处理图像信息的速度相差也太大了吧?问题出在哪里?
请各位大佬不吝赐教,谢谢!