@NonameFromUkraine

Как обработать изображение через CV2?

Делаю скриншот экрана и преобразовываю его изображение в другое цветовое пространство. Мне надо создать новое изображение не сохраняя его на диск, а потом уже с ним работать.
Как сделать?
Я попытался так:
image = pyautogui.screenshot(region=(514, 495, 264, 12))
    image = cv2.cvtColor(np.array(image), cv2.COLOR_BGR2GRAY)
    im=Image.fromarray(image, 'RGB') # Выдает ошибку ValueError: not enough image data
    #cv2.imwrite("pic.png", image) так я делал раньше, но мне надо без создания файла
    #im = Image.open('pic.png')
  
    for i in range(1, 11):
        if i == 10:
            im_crop = im.crop((244, 1, 264, 12))
        else:
            im_crop = im.crop((jump * (i - 1)+2, 1, 27 * (i - 1) + 16, 12))
  • Вопрос задан
  • 238 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Непонятно, что именно ты пытаешься сделать.
Если просто перевести скриншот в другое цветовое пространство, то вот этих двух строчек
image = pyautogui.screenshot(region=(514, 495, 264, 12))
image = cv2.cvtColor(np.array(image), cv2.COLOR_BGR2GRAY)
должно хватить.
Дальше crop лучше делать средствами cv2, благо для этого достаточно средств numpy-массивов (а именно так cv2 хранит изображения).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы