使用pyautogui和opencv进行截图

时间:2016-03-12 13:13:18

标签: python opencv pillow

我使用以下代码:

import cv2

import numpy as np

import pyautogui
import sys


img = pyautogui.screenshot()
cv2.imshow('image',img)

当我运行它时,它会告诉我

mat is not a numpy array, neither a scalar

我试过使用opencv中的不同功能,似乎它们都返回相同的功能。我需要做些什么来截取屏幕截图,然后在Open CV中使用它?

1 个答案:

答案 0 :(得分:1)

经过一番挖掘,我意识到pyautogui功能正在使用Pillow,它提供的格式必须适应opencv。

我添加了以下代码,以便它可以工作:

open_cv_image = np.array(img) 
# Convert RGB to BGR 
open_cv_image = open_cv_image[:, :, ::-1].copy()