Как мне увеличить изображение так, чтобы оно имело разрешение 300 точек на дюйм?

StackOverflow https://stackoverflow.com/questions/524805

Вопрос

Принятый ответ на вопрос Библиотека C ++ для распознавания изображений:изображения, содержащие слова в строку рекомендовал вам:

  1. Увеличьте / уменьшите размер вашего входного изображения до 300 точек на дюйм.

Как бы я это сделал...У меня сложилось впечатление, что DPI предназначен для мониторов, а не для форматов изображений.

Это было полезно?

Решение

Я думаю, что более точным термином здесь является повторная выборка.Вам нужно разрешение в пикселях, достаточно высокое, чтобы поддерживать точное распознавание текста.Размер шрифта (напримерв Очки) обычно измеряется в единицах длины, а не в пикселях.Поскольку 72 точки = 1 дюйм, нам нужно 300/72 пикселя на точку для разрешения 300 точек на дюйм ("пикселей на дюйм").Это означает, что типичный 12-точечный шрифт имеет высоту (или, более точно, расстояние от базовой строки до базовой строки в тексте с одинарным интервалом) 50 пикселей.

В идеале ваши исходные документы должны быть отсканированы с соответствующим разрешением для данного размера шрифта, чтобы высота шрифта на изображении составляла около 50 пикселей.Если разрешение слишком высокое / низкое, вы можете легко выполнить повторную выборку изображения с помощью графической программы (например GIMP).Вы также можете сделать это программно с помощью графической библиотеки, такой как Магия изображений который имеет интерфейсы для многих языков программирования.

Другие советы

DPI имеет смысл всякий раз, когда вы соотносите изображение в пикселях с физическим устройством с размером изображения.В случае распознавания текста это обычно означает разрешение сканирования, т.е.сколько пикселей вы получите на каждый дюйм вашего сканирования.Шрифт с 12 пунктами предназначен для печати с шагом 12/72 дюйма на строку, и символ верхнего регистра может занимать около 80% этого объема;таким образом, при сканировании с разрешением 300 точек на дюйм его высота составляла бы примерно 40 пикселей.

Во многих графических форматах записано значение DPI.Если изображение было отсканировано, это должна быть точная настройка сканера.Если изображение получено с цифровой камеры, там всегда указано 72 DPI, что является значением по умолчанию, установленным спецификацией EXIF;это происходит потому, что камера не может знать исходный размер изображения.Когда вы создаете изображение с помощью программы обработки изображений, у вас может быть возможность установить DPI на любое произвольное значение.Это удобно для вас, чтобы указать, как вы хотите использовать конечное изображение, и не имеет никакого отношения к деталям, содержащимся в изображении.

Вот предыдущий вопрос, в котором задаются подробности изменения размера изображения:Как мне добиться высококачественного масштабирования изображения?

Программное обеспечение для распознавания текста, как правило, предназначено для работы с "нормальными" размерами шрифта.С точки зрения изображения это означает, что он будет искать буквы, возможно, в диапазоне высот от 30 до 100 пикселей.Изображения с гораздо более высоким разрешением привели бы к появлению букв, которые кажутся слишком большими для эффективной обработки программой распознавания текста.Аналогично, изображения с более низким разрешением не будут обеспечивать достаточное количество пикселей, чтобы программное обеспечение могло распознавать буквы.

"Как бы я это сделал...У меня сложилось впечатление, что dpi предназначен для мониторов, а не для форматов изображений ".

DPI означает точки на дюйм.Какое это имеет отношение к мониторам?Итак, у нас есть пиксель, состоящий из трех субпикселей RGB.Чем выше DPI, тем больше деталей вы втиснете в это пространство.

DPI - это полезное измерение для отображения и печати, но ничего полезного...на самом деле, ничего для самих форматов изображений.

Причина, по которой DPI помечается внутри некоторых форматов, заключается в том, чтобы указать устройствам отображать с этим разрешением, но, насколько я понимаю, практически все игнорируют эту инструкцию и делают все возможное, чтобы оптимизировать изображение для конкретного вывода.

Вы можете изменить 72 dpi на 1 dpi или 6000 dpi в формате изображения, и это не будет иметь никакого значения на мониторе."Увеличить / уменьшить до 300 точек на дюйм" не имеет смысла.Повторная выборка также не изменяет DPI.Попробуйте это в Photoshop, снимите флажок "Повторная выборка" при изменении DPI, и вы не увидите никакой разницы.Она НЕ станет ни больше, ни меньше.

DPI абсолютно бессмысленно для форматов изображений, IMO.

Если ваша цель - распознавание текста, DPI имеет смысл определять как количество точек на вашем изображении на каждый дюйм исходного отсканированного документа.Если ваш dpi слишком низкий, информация пропадет навсегда, и даже бикубическая интерполяция не приведет к блестящей работе по ее восстановлению.Если ваш dpi слишком высок, биты легко выбросить.

, Чтобы выполнить работу;Я большой поклонник набора инструментов netpbm / pbmplus;инструментом для начала является pnmscale, хотя , если у вас есть растровое изображение , вы хотите рассмотреть связанные инструменты, такие как pbmreduce.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top