Получение dpi изображения для файлов tif с помощью подушки

Как получить dpi изображения tiff с помощью подушки? Не могу найти в документации.

from PIL import Image
im = Image.open('test.tif')
print("im dpi?")

person user3654650    schedule 05.06.2014    source источник


Ответы (1)


Разрешение изображения в DPI должно быть доступно в информации. словарь (дополнительную информацию о info для изображений tiff можно найти здесь):

print(im.info['dpi'])

Однако не все изображения предоставляют эту информацию.

person Marcin    schedule 05.06.2014
comment
Я получаю кортеж, например (72, 72), как мне интерпретировать этот кортеж? - person aspiring1; 26.05.2020
comment
@ aspiring1 Это значения точек на дюйм. Обычно количество пикселей в 1 дюйме или количество пикселей в 1 дюйме. - person Marcin; 26.05.2020
comment
Хорошо, как я теперь понимаю, два значения указывают значения dpi для каждого измерения, то есть высоты и ширины, то есть мое изображение имеет 72 точки на 1 дюйм по высоте и ширине - person aspiring1; 26.05.2020
comment
@ aspiring1 да. Таким образом, один пиксель имеет размер 0,013889 x 0,013889 дюйма (1/72). - person Marcin; 26.05.2020
comment
Также полезно ли изменение dpi (используя здесь PIL) im.save(imagename, dpi=(600, 600)) для целей распознавания текста? Я читал, что для обеспечения хорошей точности для движков OCR требуется минимум 300 ppi (так называемое высокое разрешение), поэтому меняем его таким образом с (72, 72) на (600, 600). , а также что это означает, когда я выполняю эту операцию, уменьшаются ли мои пиксели в размере с 1/72 до 1/300 из-за разбивки больших пикселей (также полезно ли это)? - person aspiring1; 26.05.2020
comment
@ aspiring1 Во зависит от изображений. Вы можете сохранить любое значение в качестве DPI в своем изображении, это не приведет к автоматическому улучшению разрешения. DPI имеет смысл только в том случае, если метод получения изображения фактически использует это разрешение для получения его цифровой версии. Например. сканер, который физически отсканирует фотографию с разрешением 600 точек на дюйм. Фактически, 72 часто используется в качестве заполнителя из-за отсутствия какого-либо значимого значения. - person Marcin; 26.05.2020
comment
Я полагаю, что мой info словарь может быть пуст, и мне, возможно, вернут те 72, которые, как вы сказали, и я цитирую , является заполнителем из-за отсутствия какого-либо значимого значения - person aspiring1; 26.05.2020
comment
@ aspiring1 Вы должны проверить, насколько требовались изображения, которые вы анализируете. Без этого вы не можете быть уверены, что значения DPI имеют реальный физический смысл. - person Marcin; 26.05.2020
comment
Насколько я понимаю, может быть два способа, один из которых - отсканированное изображение со сканера, другой - цифровое изображение с камеры, также я не мог понять, как режим получения влияет на значимость dpi - person aspiring1; 26.05.2020
comment
@ aspiring1 Обязательно прочтите об этом. Извините, я не могу многое объяснить в разделе комментариев, и я не знаю всех деталей, которые вы имеете в виду, спросите. - person Marcin; 26.05.2020
comment
Я заинтересован в улучшении качества распознавания текста и использую для этого tesseract, я прочитал здесь о исправление dpi, где указано, что 300 dpi - это минимум. Итак, я пытался увеличить dpi как минимум до 300 - person aspiring1; 26.05.2020
comment
@ aspiring1 Вы можете сделать это только путем интерполяции (масштабирования / передискретизации) ваших изображений. - person Marcin; 26.05.2020