Я хотел бы сфотографировать какой-нибудь текст и сделать текст более легким для чтения. Сложность в том, что исходная фотография может иметь как темные, так и светлые области, и я хочу, чтобы функция opengl улучшала текст во всех этих областях.
Вот пример. Сверху оригинальное изображение. Внизу находится обработанные изображения.
[редактировать]
Я добавил в лучший пример картину того, что происходит. Я могу улучшить текст, но в областях, где у меня нет текста, это простое пороговое значение создает пестрый шум (изображение внизу слева).
Если я сверну порог, я потеряю текст в более темной области (справа внизу).
В данный момент обработанное изображение воспринимает только часть текста, а не весь текст. Исходный алгоритм, который я использовал, был довольно прост:
- выборка 8 пикселей вокруг текущего пикселя (кажется, что пиксели, расположенные на расстоянии около 4-5, работают лучше всего)
- выяснить самые светлые и самые темные пиксели из этого образца
- если текущий пиксель ближе к самому темному порогу, то сделать черным, и наоборот
Казалось, что это очень хорошо работает для текста, но когда речь идет о нетексте, то получается очень шумное изображение (даже когда я указывал начальный порог отклонения)
Я изменил этот алгоритм, предполагая, что текст всегда был близок к черному. Это обеспечило нижнее изображение выше, но еще раз я не могу вытащить все текстовые функции, которые я хочу.