Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 2, 2015 16:02:27

Massa1994
Зарегистрирован: 2013-08-10
Сообщения: 18
Репутация: +  1  -
Профиль   Отправить e-mail  

Избавления от сохранения рисунка на диск.

Добрый день.
У меня вот такая часть кода программы.

from PIL import ImageGrab
import cv2
import numpy as np

skrin = ImageGrab.grab()# Делает скриншот
skrin.save("1.png")# Сохраняет его
im = cv2.imread("1.png")# открывает его
out = np.zeros(im.shape,np.uint8)

И мене надо избавится от сохранения скриншота на диск и последующего его считывания.
То есть чтобы передать его сразу вот сюда np.zeros(im.shape,np.uint8)
Пробовал вот так, не работает(ошибка).

from PIL import ImageGrab
import cv2
import numpy as np

skrin = ImageGrab.grab()# Делает скрин
im = skrin
out = np.zeros(im.shape,np.uint8)
Подскажите пожалуйста как можно это сделать?

Отредактировано Massa1994 (Фев. 2, 2015 17:45:22)

Офлайн

#2 Фев. 3, 2015 01:42:07

GreyZmeem
От: Киев
Зарегистрирован: 2013-12-03
Сообщения: 147
Репутация: +  34  -
Профиль   Отправить e-mail  

Избавления от сохранения рисунка на диск.

В skrin.save() вместо имени файла, можно передать file-like object.
Также есть метод cv2.imdecode, который позволяет из буфера читать.
В качестве файла, можно использовать, например, BytesIO

Офлайн

#3 Фев. 3, 2015 14:22:48

Alen
Зарегистрирован: 2013-08-01
Сообщения: 373
Репутация: +  49  -
Профиль   Отправить e-mail  

Избавления от сохранения рисунка на диск.

screen = ImageGrab.grab() 
out = np.array(screen)

или

out =np.asarray(ImageGrab.grab())

Офлайн

#4 Фев. 4, 2015 10:02:44

Massa1994
Зарегистрирован: 2013-08-10
Сообщения: 18
Репутация: +  1  -
Профиль   Отправить e-mail  

Избавления от сохранения рисунка на диск.

Alen
Спасибо большое

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version