Недавно я столкнулся с проблемой, которая требует хотя бы базовой обработки изображений. Могу ли я сделать это на Python, и если да, то с помощью чего?
Ответы:
Самая известная библиотека - PIL . Однако, если вы просто выполняете базовые манипуляции, вам, вероятно, лучше использовать привязки Python для ImageMagick , которые будут намного эффективнее, чем написание преобразований на Python.
В зависимости от того, что вы подразумеваете под «обработкой изображений», лучшим выбором может быть библиотека на основе numpy: mahotas , scikits.image или scipy.ndimage. . Все это работает на основе массивов numpy, поэтому вы можете смешивать и сопоставлять функции из одной библиотеки и другой.
Я запустил веб-сайт http://pythonvision.org, на котором есть дополнительная информация об этом.
scikit-image
теперь размещается на scikit-image.org
scipy.ndimage
ссылка мертва. Текущая ссылка, скорее всего: scipy.github.io/devdocs/tutorial/ndimage.html
У вас также есть подход к обработке изображений, основанный на «стандартных» научных модулях: SciPy имеет целый пакет, посвященный обработке изображений: scipy.ndimage . Scipy - это, по сути, стандартный пакет общих численных расчетов; он основан на де-факто стандартном модуле обработки массивов NumPy : изображениями также можно управлять как массивы чисел. Как для отображения изображения, Matplotlib (также часть «научной трилогии») делает отображение изображения довольно просто .
SciPy все еще активно поддерживается, так что это хорошее вложение в будущее. Кроме того, SciPy в настоящее время работает и с Python 3, а библиотека изображений Python (PIL) - нет.
import scipy
без установки PIL (с import Image
ошибкой ImportError
).
Для завершения списка: opencv http://opencv.willowgarage.com/documentation/python/index.html
На самом деле существует замечательная библиотека изображений Python (PIL) . Это дает вам возможность изменять существующие изображения, включая возможности сглаживания, и создавать новые изображения с текстом и т. Д. Вы также можете найти достойное вводное руководство в справочнике PIL на вышеупомянутом сайте.
Если вы создаете собственный эффект обработки изображений, вам может пригодиться PythonPixels. http://halfhourhacks.blogspot.com/2008/03/pythonpixels.html Он предназначен для написания и экспериментов с обработкой изображений.
VIPS должен быть быстрым и использовать несколько процессоров:
https://github.com/libvips/libvips/wiki/Speed-and-memory-use