Я перебираю около 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)