Получение данных пикселей изображения без сохранения - PullRequest
0 голосов
/ 15 мая 2018

Есть ли способ получить значения RGB по заданным координатам из изображения без необходимости сохранять его на диск? Так можно ли просто ввести URL изображений с библиотекой Python и прочитать их данные RGB (или сохраняет, а затем удаляет их наилучшим образом)?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

В зависимости от характера того, что вы пытаетесь выполнить, нет необходимости сохранять изображение в файл.Вы не сказали, какую библиотеку изображений вы хотели бы использовать.PIL (подушка в наши дни) - очень популярный выбор.Но есть и другие.

Многие люди предпочитают использовать Запросы для управления загрузками URL.Но это дополнительный модуль для установки.Вы также можете попробовать urllib.request.urlopen, который является частью стандартной библиотеки.

Вот небольшой фрагмент кода, который будет использовать PIL (подушку) плюс либо urllib, либо Requests в Python3:

from PIL import Image
from io import BytesIO

# BBC Test Card F image from 1967
url = 'https://upload.wikimedia.org/wikipedia/en/5/52/Testcard_F.jpg'

# load the image with urllib + BytesIO
import urllib.request

response = urllib.request.urlopen(url)
img = Image.open(BytesIO(response.read()))

# load the image with requests
import requests

response = requests.get(url)
img = Image.open(BytesIO(response.content))
0 голосов
/ 15 мая 2018

Как правило, по крайней мере, в случае поиска изображения в Интернете, легче сохранить изображение на диск и затем загрузить изображение в вашу программу.

Альтернативой является запрос изображения с самого сайта, что вполне возможно, но немного больше работы. В этом может помочь модуль requests или urllib. http://docs.python -requests.org / ru / master / связанные с этим вопросы: Как прочитать данные изображения с URL-адреса в Python? Как загрузить изображение с помощью запросов

Запрос изображения с самого сайта может быть лучшим вариантом, если вы уже сканируете веб-изображение для изображения, у вас есть список с тоннами и тоннами URL-адресов изображений, которые вы не должны пытаться найти или иметь дело с с изменениями изображений при ссылках (или общих динамически предоставляемых изображений)

Если вам сначала нужно найти изображения и скопировать URL (только изображение) или иным образом связываться с запросом для каждого отдельного изображения, вы можете просто щелкнуть правой кнопкой мыши и сохранить, если только объем памяти HD не является выпуск, (имо)

Полагаю, вы сможете попытаться найти, где хранятся изображения, когда ваш браузер их загружает, но это на много * на 1020 * больше работы и, возможно, ненадежно.

Вы также можете попытаться «отделить» изображение от текущего «снимка экрана» в памяти. Еще один метод «много работы и ненадежность». (после правок)

...