2016-03-12 1 views
0

Я использую следующий код:Использование pyautogui и OpenCV для скриншоте

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?

ответ

0

После некоторого рытья я понимаю, что функция pyautogui использует Pillow, которая дает формат, который должен быть адаптирован для работы с opencv.

Я добавил следующий код так, чтобы он работал:

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