如何解决Python:有没有办法用cv2灰度显示屏幕?
是否可以使用cv2实时对屏幕的一部分进行灰度处理?
我知道如何对图像进行灰度处理,但是我们可以对屏幕进行灰度处理吗? 如果您知道如何Geryscale屏幕的一部分,请添加代码!
解决方法
cv2
对您的屏幕缓冲区没有写权限,因此无法更改屏幕上看到的颜色。但是,您应该可以截图并进行操作。参见Python take a screenshot of the screen and save it to a buffer。
我找到了一种对屏幕的一部分进行灰度处理的方法!
我的代码:
from PIL import ImageGrab
import cv2
from numpy import array
import time
while True:
Screen = array(ImageGrab.grab(bbox=(13,32,805,623)))
gray = cv2.cvtColor(Screen,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,20,30)
edges_high_thresh = cv2.Canny(gray,60,120)
k = cv2.waitKey(30) & 0xff
if k == 27:
cv2.destroyAllWindows()
break
cv2.imshow('Frame',edges)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。