![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Мужики, нужна помощь по бинаризации изображения. Есть фотография с текстом. Нужно, чтобы фон стал белым, а буквы - черными.
Я сперва делал простым способом - брал пиксель и смотрел его цвет (0 - черный, 255 - белый). Если цвет пикселя меньше 127, то он становился черным, а если больше, то белым. Но этот метод дает плохой результат - буквы сплываются, присутствуют артефакты и текст в целом нечитабельный. Я нашел описание метода Ниблэка. Метод Ниблэка Идея данного метода состоит в варьировании порога яркости B бинаризации от точки к точке на основании локального значения стандартного отклонения. Порог яркости в точке (x, y) рассчитывается так: B(x, y)=m(x, y)+k s(x, y), где m(x, y), s(x, y) – среднее и стандартное отклонение выборки для некоторой окрестности точки. Размер окрестности должен быть минимальным, но таким, чтобы сохранить локальные детали изображения. В то же время размер должен быть достаточно большим, чтобы понизить влияние шума на результат (для изображений, приведенных здесь, радиус окрестности составляет 16 пикселей). Значение k определяет, какую часть границы объекта взять в качестве самого объекта. Значение k=-0.2 задает достаточно хорошее разделение объектов, если они представлены черным цветом, а значение k=+0.2, – если объекты представлены белым цветом. Помогите реализовать этот алгоритм на Дельфи. |
#2
|
||||
|
||||
![]() Закинь хоть одну страницу для примера.
Тогда можно будет чтото сказать. |
#3
|
|||
|
|||
![]() Вот прикрепил картинку. Результат бинаризации выглядит так.
|