@Vartmod

Как исправить ошибку при изменении цветового пространства (python 3, OpenCV)?

Здравствуйте, уважаемые питонисты) Подскажите пожалуйста, не могу покрасить снимок экрана
Код довольно простой:
box = (0, 170, 650, 1000)
img = ImageGrab.grab(box)
imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

И получается такая ошибка: Expected cv::UMat for argument 'src'

Загуглил, нашёл такое решение:
gray = cv2.cvtColor(cv2.UMat(img), cv2.COLOR_RGB2GRAY)

Но лично у меня выдаёт следующую ошибку: UMat() missing required argument 'ranges' (pos 2)

Понятие не имею, что за второй аргумент, гугл тоже) Где-то в закромах overflow прочитал, что второму аргументу просто присваивают значение None. Тогда ошибка следующая:Expected cv::UMat for argument 'm'

Может быть скриншот экрана делать через другую библиотеку?
  • Вопрос задан
  • 1810 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Vartmod Автор вопроса
Не знаю насколько это практично, но можно сначала загрузить изображение на диск, а после заново открыть его с помощью cv2
box = (0, 170, 650, 1000)
img = ImageGrab.grab(box)
img.save("picture.jpg")
image = cv2.imread("picture.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imwrite("gray.jpg", gray)

Вроде бы ошибок нет)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы