Как я могу объединить данные пикселей из 800 изображений с PIL - PullRequest
0 голосов
/ 09 октября 2018

Я перебираю около 800 изображений и извлекаю пиксельные данные, чтобы подготовить их к объединению в 1 изображение.

В данный момент я извлекаю r,g,b значения, например, так:

img = Image.open(i, 'r')
data = img.getdata()
rgb_data = []

for (r, g, b) in data:
    rgb_data.append((r, g, b))

Получить значения rgb для 1 изображения можно.Но при попытке создать список значений из всех значений rgb 800 изображений у меня заканчивается память вокруг изображения 170. Это происходит потому, что каждое изображение содержит около 175 000 пикселей.Таким образом, каждый список имеет 175 000 значений, и я пытаюсь объединить их все вместе (175 000 * 800).

Я изучил возможность выбора каждого из изображений в виде rgb в файл, затем, когда у меня есть 800 файлов, я загружаю их все в один список, но сталкиваюсь с той же проблемой.

I 'Мы также попробовали SqlLite, который работает, но, вероятно, займет несколько дней.Clocked 1 изображения RGB значения примерно за 3 часа.

Поэтому я ищу способ объединить эти огромные списки в один и как-то не хранить их в памяти так много.

РЕДАКТИРОВАТЬ: Чтобыпоясните далее, что теоретически на данный момент у меня будет 800 списков, каждый из которых содержит около 175 000 значений для rgb.В конце концов я хочу получить список всех этих значений, и я стремлюсь создать новое изображение, например, так:

new_img = Image.new("RGB", size)
new_img.putdata(huge_list_of_all_values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...