Python Сбой изображения PIL - PullRequest
1 голос
/ 25 января 2020

Здравствуйте, я экспериментирую с PIL, opencv2 и keras. Но я столкнулся с некоторой странной проблемой, которая заключается в том, что изображение, полученное с моего экрана, вылетает, когда его показывает opencv.

Это мой код:

import cv2
import numpy as np
from PIL import ImageGrab
import time
import tensorflow as tf
import keras.backend.tensorflow_backend as backend
import keras
class MC():
    def Screen(self):
        last_time = time.time()
        while True:
            # 800x450 windowed mode
            printscreen =  np.array(ImageGrab.grab(bbox=(0,40,800,450)))
            print('loop took {} seconds'.format(time.time()-last_time))

            last_time = time.time()

            cv2.imshow('window',cv2.cvtColor(printscreen, cv2.COLOR_BGR2RGB))

test=MC()
test.Screen()

Экран просто серый и говорит не отвечает. The screen Надеюсь, кто-нибудь может мне помочь.

1 Ответ

1 голос
/ 25 января 2020

Пара вещей:

  • Вам нужно cv2.waitKey(1) после cv2.imshow()
  • Ваш параметр cv2.cvtColor() также неверен, хотя он будет работать. PIL захватывает, поскольку RGB и OpenCV используют BGR, поэтому вы должны использовать cv2.COLOR_RGB2BGR
...