Метод 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) 
  • Текст центра / среднего выравнивания с PIL?
  • Как получить среднее значение пикселя изображения с серой шкалой в Python с использованием PIL \ Numpy?
  • Установка PIL на Snow Leopard
  • PIL декодер jpeg недоступен на ubuntu x64,
  • Как удалить ось y из созданного Pylab изображения?
  • Python PIL load throwing AttributeError: объект 'NoneType' не имеет атрибута 'read'
  • Включить курсор мыши на скриншот
  • Как показать изображения PIL на экране?
  •  
    Interesting Posts for Van-Lav

    Использование wget через Python

    Создание рекурсивной карты сайта с относительными ссылками href

    Почему при запуске / создании экземпляров фабрики называет фабричные мальчики именования переменных RelatedFactory?

    Что такое использование последней запятой в этом коде?

    Два объекта python, которые больше или меньше друг друга

    Django: найти все обратные ссылки по внешним ключам

    Конфликт собственных векторных выходов между Matlab и Numpy

    Исключение Python IOError при создании длинного файла

    Подключение к Python Telnet

    Арифметика Python vs Javascript с плавающей точкой дает очень разные ответы. Что я делаю не так?

    clr.AddReferenceToFile () не работает в IronPython 2.7

    Построение распределения Zipf с помощью matplotlib, FITTED-LINE

    Почему FrozenList отличается от кортежа?

    Как использовать внешние переменные в Python, такие как «extern int x;» в C?

    ОШИБКА: не удалось получить доступ к файлу «$ libdir / plpython2»: нет такого файла или каталога

    Python - лучший язык программирования в мире.