Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 4, 2007 18:51:36

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с Image

Люди, очень нужна помощь.
Мне нужно загрузить изображение(оттенки серого), перевести его в двумерный массив, обработать его и присвоить изображению и вывести результат. Никак не могу найти правильное решение. Плизз, может кто сталкивался с таким.



Офлайн

#2 Окт. 4, 2007 20:13:11

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с Image

в PIL можно так сделать, но правда как можно присвоить изображению масив не знаю



Офлайн

#3 Окт. 4, 2007 20:15:49

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с Image

насчёт PIL я знаю, но вот только мне необходимо провести обработку контуров на изображении, а PIL мне информацию о них не выдаст, поэтому нужно перевести в массив чисел



Офлайн

#4 Окт. 4, 2007 23:58:11

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Работа с Image

Можно загрузить через PIL, перегнать в raw через tostring, затянуть это в numpy.ndarray, сделать что нужно, выгнать опять в raw и занянуть снова в PIL.Image. Сохранить.
Можно сделать из PIL.Image PIL.ImageDraw и работать попиксельно.
Первый способ - лучше



Офлайн

#5 Окт. 5, 2007 07:56:26

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с Image

Андрей Светлов
Можно загрузить через PIL, перегнать в raw через tostring, затянуть это в numpy.ndarray, сделать что нужно, выгнать опять в raw и занянуть снова в PIL.Image.
1) думаю ударит по качетву рисунка, хотя не уверен
2) + сильно ударит по ОЗУ, т.к. tostring для рисунка (jpg) в 1,5Мб дает строку в 40Мб



Офлайн

#6 Окт. 5, 2007 09:25:08

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Работа с Image

pythonwin
2) + сильно ударит по ОЗУ, т.к. tostring для рисунка (jpg) в 1,5Мб дает строку в 40Мб
это уже не проблемы питона, а самого jpg(хорошо сжимает)



Офлайн

#7 Окт. 5, 2007 10:35:52

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

Работа с Image

Довольно несложно перегнать в массив файл в формате bmp, по большому счету - это и есть массив, только с заголовком. Только есть ли смысл работать с ним в чистом питоне, без си расширений - трудно сказать. Подозреваю, что поставленную задачу проще будет решать в gimp при помощи питоновского плагина.



Офлайн

#8 Окт. 5, 2007 10:59:24

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с Image

Daevaorn
это уже не проблемы питона, а самого jpg(хорошо сжимает)
bmp из jpg файла = 1,5Мб будет примерно 10-15Мб, т.е. меньше в 3-4 раза чем возвращает tostring



Офлайн

#9 Окт. 5, 2007 11:26:52

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Работа с Image

tostring возвращает чистые байты. поэтому результат tostring должен быть даже меньше чем bmp.
очевидно вы сохраняете в bmp с включенной rle-компрессией



Офлайн

#10 Окт. 5, 2007 14:24:48

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Работа с Image

Мы говорим о форматах файлов или об обработке картинки?
Если грузишь jpeg - он все равно разворачивается в памяти в чистый raw.
О потере качества: если это тот же jpeg - качество теряется на каждом преобразовании.
Если серый tiff (а у Sunny, похоже, этот случай) - потери не будет.

P.S. Ох уж эти вебовщики, знания о картинке ограничиваются способом сделать ее в минимальном размере на диске!



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version