Метод getbbox из библиотеки изображений python (PIL) не работает

Я хочу обрезать изображение меньшим размером, разрезая белые области на границах. Я попробовал решение, предложенное в этом форуме. Обрезайте изображение PNG с минимальным размером, но метод getbbox () для pil возвращает ограничивающий прямоугольник того же размера изображения, т. Е. Кажется, что он не распознает пустые области вокруг. Я попробовал следующее:

>>>import Image >>>im=Image.open("myfile.png") >>>print im.format, im.size, im.mode >>>print im.getbbox() PNG (2400,1800) RGBA (0,0,2400,1800) 

Я проверил, что у моего изображения есть действительно белые грани обрезаемых изображений, обрезая изображение с помощью автоматической настройки GIMP. Я также пробовал с ps и eps версиями фигуры, без везения.
Любая помощь будет высоко оценен.

One Solution collect form web for “Метод getbbox из библиотеки изображений python (PIL) не работает”

Проблема заключается в том, что getbbox() с черных границ, из документов: Calculates the bounding box of the non-zero regions in the image .

введите описание изображения здесьвведите описание изображения здесь

 import Image im=Image.open("flowers_white_border.jpg") print im.format, im.size, im.mode print im.getbbox() # white border output: JPEG (300, 225) RGB (0, 0, 300, 225) im=Image.open("flowers_black_border.jpg") print im.format, im.size, im.mode print im.getbbox() # black border output: JPEG (300, 225) RGB (16, 16, 288, 216) # cropped as desired 

Мы можем сделать легкое исправление для белых границ, сначала инвертируя изображение с помощью ImageOps.invert , а затем используйте getbbox() :

 import ImageOps im=Image.open("flowers_white_border.jpg") invert_im = ImageOps.invert(im) print invert_im.getbbox() # output: (16, 16, 288, 216) 
  • Работа с TIFF (импорт, экспорт) в Python с использованием numpy
  • Наложение двух одинаковых изображений на Python
  • Оптимизировать .png изображения с помощью PIL
  • Открывать изображения из папки один за другим с помощью python?
  • Как узнать, почему использование функций PIL приводит к ошибке памяти?
  • Преобразование экземпляра изображения (файла) в массив (python)
  • Библиотека PIL / JPEG / Справка!
  • Python PIL не может найти мой "libjpeg"
  • шрифты с PIL
  • Как настроить локальный каталог библиотеки python / PYTHONPATH?
  • Обнаруживать, если изображение цветное, полутоновое или черно-белое с Python / PIL
  • Python - лучший язык программирования в мире.