为了账号安全,请及时绑定邮箱和手机立即绑定

使用ImageGrab的Python屏幕记录

使用ImageGrab的Python屏幕记录

凤凰求蛊 2021-05-02 10:54:10
我得到了使用枕头ImageGrab在python中记录屏幕的代码,该图像在我的python 3.5版本中无法正常工作。视频帧的大小不断减小。import numpy as npfrom PIL import ImageGrabimport cv2import timelast_time = time.time()while(True):    # 800x600 windowed mode    printscreen =  np.array(ImageGrab.grab(bbox=(0,0,800,600)))    print('loop took {} seconds'.format(time.time()-last_time))    last_time = time.time()    cv2.imshow('window',cv2.cvtColor(printscreen, cv2.COLOR_BGR2RGB))    if cv2.waitKey(25) & 0xFF == ord('q'):        cv2.destroyAllWindows()        break
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

这是预期的。使用时,cv2.imshow()它会在屏幕上显示一个窗口,并且再次在中捕获该窗口ImageGrab。因此,如果您不显示图像而仅将其另存为视频,则不会出现此问题。

要查看其是否按预期工作,可以执行此操作,

printscreen =  np.array(ImageGrab.grab(bbox=(0,0,200,200)))

它将仅捕获屏幕左上200 X 200像素。现在,将opencv输出窗口拖离屏幕的左上角,您将看不到在窗口内放置窗口的效果。


查看完整回答
反对 回复 2021-05-11
  • 1 回答
  • 0 关注
  • 323 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信