如何将屏幕截图转换为视频帧?

时间:2019-05-22 21:57:53

标签: python-3.x opencv3.0 obs

我希望能够拍摄一个opencv屏幕截图图像,并对其应用图像跟踪。但是我得到这个错误:

AttributeError: 'numpy.ndarray' object has no attribute 'read'

我使用win32api截屏,然后使用opencv将其转换为numpy数组。

我看过的教程都涉及到使用网络摄像头,显然,您将使用___。read()从中读取的框架与opencv屏幕截图图像不同。

我当时正在考虑使用OBS或其他流服务将视频发送到python,然后一切正常,但是我什么都没找到。

我尝试将屏幕截图转换为视频,然后执行read()函数,但是没有任何效果。

主要python文件(在while循环中)


if __name__ == '__main__':
        screen = g.grab_screen(region = (0, 0, 640, 480))

        scr = screen.copy()

        screen = cv2.cvtColor(screen, cv2.COLOR_BGR2GRAY)

        fourcc = cv2.VideoWriter_fourcc(*'XVID')
        vid = cv2.VideoWriter('output.avi', fourcc, 6, (640,480))

        vid.write(screen)
        frame = screen.read()

        # Update tracker
        ok, bbox = tracker.update(frame)

grab_screen()来自自定义的python文件,该文件使用win32api进行屏幕截图,然后返回图像,然后您可以对其执行cv2.cvtcolour()。

0 个答案:

没有答案