Бинаризация полутоновых изображений на основе локальной пороговой фильтрации

Бесплатный доступ

Рассматривается проблема бинаризации полутоновых изображений в условиях неравномерного освещения и наличия шумов, что особенно актуально для систем распознавания символов (OCR), технического и медицинского зрения. Целью работы является повышение точности бинаризации за счет адаптации к локальным особенностям изображения, снижения влияния шумов и улучшения визуального выделения объектов. Проанализированы популярные алгоритмы локальной пороговой фильтрации: метод Бернсена, использующий среднее значение между экстремальными яркостями в окрестности; метод Ниблэка, определяющий порог на основе локального среднего и стандартного отклонения; метод Сауволы, вводящий адаптацию к контрасту. Выявленные недостатки: нестабильность при низком контрасте; высокая чувствительность к шуму; потеря деталей. Предложен новый способ вычисления порога бинаризации, учитывающий три компонента: локальное среднее значение яркости, стандартное отклонение и нормализованный градиент, рассчитанный через оператор Собеля. Порог определяется взвешенным суммированием этих параметров с возможностью тонкой настройки через коэффициенты α, β, γ и смещение C. Метод обеспечивает устойчивость к локальным перепадам освещенности и эффективно фильтрует слабовыраженные границы. Проведено сопоставление полученных изображений с результатами классических методов, что показало лучшее качество выделения объектов и снижение шумов на фоне. Выводы основаны на визуальном анализе результатов бинаризации и их пригодности для последующего распознавания. Отличительной особенностью метода является использование градиента в качестве дополнительного критерия пороговой фильтрации. Это обеспечивает точную настройку и высокую устойчивость при работе с изображениями сложной структуры. Полученные результаты имеют практическую значимость для систем OCR, анализа медицинских снимков, технической диагностики. Работа имеет потенциал для дальнейшего развития в направлении ускорения вычислений и применения в мобильных и встраиваемых системах.

Бинаризация, распознавание, изображение, метод, OCR, пороговая фильтрация, шумы

Короткий адрес: https://sciup.org/148333886

IDR: 148333886   |   УДК: 004.932.2   |   DOI: 10.18137/RNU.V9187.26.02.P.127

Binarization of grayscale images based on local threshold filtering

The problem of binarization of halftone images under conditions of uneven illumination and noise is considered, which is especially important for character recognition systems (OCR), technical and medical vision. The aim of the work is to increase the accuracy of binarization by adapting to local image features, reducing the influence of noise and improving the visual selection of objects. Popular algorithms of local threshold filtering are analyzed: the Bernsen method, which uses the average value between extreme brightnesses in the neighborhood; the Niblack method, which determines the threshold based on the local mean and standard deviation; the Sauvola method, which introduces adaptation to contrast. The following disadvantages are revealed: instability at low contrast, high sensitivity to noise, loss of detail. A new method for calculating the binarization threshold is proposed, taking into account three components: the local mean brightness, the standard deviation and the normalized gradient calculated through the Sobel operator. The threshold is determined by the weighted summation of these parameters with the possibility of fine-tuning through the coefficients α, β, γ and the offset C. The method ensures resistance to local illumination differences and effectively filters weakly defined boundaries. The obtained images are compared with the results of classical methods, which showed better quality of object detection and reduced background noise. The conclusions are based on a visual analysis of the binarization results and their suitability for subsequent recognition. A distinctive feature of the method is the use of a gradient as an additional criterion for threshold filtering. This ensures fine tuning and high stability when working with images of complex structure. The obtained results are of practical importance for OCR systems, medical image analysis, and technical diagnostics. The work has the potential for further development in the direction of accelerating computations and application in mobile and embedded systems.

Текст научной статьи Бинаризация полутоновых изображений на основе локальной пороговой фильтрации

Бинаризация изображений – процесс преобразования полутонового изображения в двухуровневое представление (черно-белое) [1]. Бинаризация активно используется в задачах обработки документов, для биометрической идентификации, в системах технического зрения, а также для автоматического распознавания символов [2]. Основной проблемой классических алгоритмов бинаризации является их чувствительность к изменению освещенности и присутствию шумов [3]. Для решения данной проблемы используются методы локальной пороговой фильтрации, адаптирующие порог бинаризации к локальным особенностям изображения [4].

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

Бинаризация полутоновых изображений на основе локальной пороговой фильтрации

Сравнительный анализ методов адаптивной локальной бинаризации

Существует множество методов бинаризации. Их можно разбить на три большие группы (см. Рисунок 1):

  • •    по способу определения порога;

  • •    используемой информации;

  • •    методу обработки.

Остановимся подробнее на первом. По способу определения порога их можно разделить на две основные группы – глобальные и локальные.

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

Локальные методы определяют порог бинаризации отдельно для каждой области изображения.

Рисунок 1. Классификация методов бинаризации Источник: рисунок выполнен автором.

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

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

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 2

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

Метод Сауволы является усовершенствованием метода Ниблэка и вводит дополнительный параметр, который учитывает динамический диапазон значений яркости в окрестности пикселя. Это позволяет лучше адаптироваться к областям с низким контрастом, предотвращая излишнее затемнение или осветление мелких деталей. В отличие от метода Ниблэка метод Сауволы использует коэффициент, зависящий от локального контраста, что делает его особенно эффективным для обработки текстовых документов и изображений с градиентами освещенности. Этот метод менее чувствителен к шуму, но может требовать подбора параметров в зависимости от конкретного изображения.

Предложенный метод адаптивной локальной бинаризации сочетает в себе преимущества нескольких подходов, учитывая среднюю интенсивность, стандартное отклонение и градиент яркости. В основе метода лежит следующая формула порога бинаризации [5]:

T ( x , y ) = α · M ( x , y ) + β · S ( x , y ) + γ · G ( x , y ) · 255–C,

где M ( x , y ) – локальное среднее значение интенсивности в окрестности пикселя. Оно находится по методу скользящего окна:

M (x , y ) = J   E I ( i , j ) ,                            (2)

N ‘,j^w где W – окно размером W×W;

  • N    = W 2 – количество пикселей в окне;

I ( i , j ) – интенсивность пикселя в окрестности.

Локальное среднее значение используется в большинстве адаптивных методов бинаризации (например, в методах Ниблэка и Сауволы) и помогает учитывать локальные вариации освещенности [6].

S ( x , y ) – стандартное отклонение интенсивности в окрестности пикселя, определяющее контрастность области. Оно рассчитывается по формуле

C - 5 1 C

G — —, G x   5x    y

.

5 y

Полный градиент:

G ( x , y ) = ] G + G y .

Бинаризация полутоновых изображений на основе локальной пороговой фильтрации

После вычисления градиент нормализуется в диапазон [0,1]:

G norm

G ( x , y ) - G min

G-G max     min

Преимущества метода [8]:

  • 1)    так как учитываются локальные статистические параметры, то будет достигнута вы-

  • сокая подстройка к условиям освещения;
  • 2)    использование стандартного отклонения сгладит шумы;

  • 3)    использование градиента отфильтрует слабовыраженные границы.

Метод может быть полезен для обработки изображений с неравномерным освещением, сегментации медицинских и технических изображений, а также в системах оптического распознавания символов [9].

Для сравнения и оценки методов бинаризации [10] была написана программа на языке высокого уровня Python (см. Приложение ). Результаты обработки изображения показаны на Рисунке 2.

Рисунок 2. Результаты обработки изображения Источник: [10].

На основе предоставленного изображения можно сделать следующие выводы о качестве бинаризации разными методами.

Метод Бернсена создает изображение с высокой детализацией, но оно перегружено шумами. Видны сильные границы на фоне, а также множество мелких деталей, что делает изображение трудночитаемым [11]. Метод плохо справляется с низкоконтрастными участками, поэтому появляется внезапный шум в однородных областях.

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 2

Метод Ниблэка также дает довольно шумное изображение, но менее агрессивное, чем метод Бернсена. Контуры объекта выделены, но фон всё еще содержит значительное количество артефактов. Сказывается высокая чувствительность метода к локальным перепадам контраста [12].

Метод Сауволы демонстрирует улучшенное качество по сравнению с предыдущими. Фон значительно менее загружен шумами, а сам объект выделяется четче. Однако детали объекта несколько размыты, особенно в теневых областях, поэтому теряются мелкие элементы [13].

Предложенный метод дает наиболее сбалансированный результат. Контуры объекта четкие, фон практически очищен от шумов, а сам объект хорошо различим. Метод эффективно устраняет ненужные детали на фоне, сохраняя структуру главного объекта [14].

Заключение

Таким образом, предложенный метод обеспечивает высокое качество бинаризации: он сохраняет контуры объекта, удаляя лишние шумы, в отличие от метода Бернсена и Ниблэка, которые создают переопределенные границы. Метод Сауволы также демонстрирует хорошее качество, но может терять детали в тенях. Поэтому предложенный метод является наиболее эффективным в условиях сложного освещения и неоднородного фона.

Приложение import cv2

  • #    Нормализация градиента (чтобы значения были в пределах [0, 1])

gradient_magnitude = cv2.normalize(gradient_magnitude, None, 0, 1, cv2.NORM_ MINMAX)

return gradient_magnitude def adaptive_local_binarization(image, win-dow_size=25, alpha=0.5, beta=0.5, gamma=0.3, offset=0):

"""Локальная адаптивная бинаризация с учётом градиента яркости и регулируемым порогом."""

Бинаризация полутоновых изображений на основе локальной пороговой фильтрации mean = cv2.boxFilter(gray, ddepth=-1, ksize=(window_size, window_size))

sqr_mean = cv2.boxFilter(gray**2, ddepth=-1, ksize=(window_size, window_size))

gradient = compute_local_gradient(gray)

threshold = alpha * mean + beta * std_dev + gamma * gradient * 255 - offset binary_image = (gray >= threshold).astype(np.uint8) * 255

return binary_image def bernsen_binarization(image, window_size=25, contrast_threshold=15): """Локальная бинаризация методом Бернсена."""

threshold = (max_filter + min_filter) / 2

return binary_image def niblack_binarization(image, window_size=25, k=-0.2):

"""Локальная бинаризация методом Ниблэка."""

mean = cv2.boxFilter(gray, ddepth=-1, ksize=(window_size, window_size))

sqr_mean = cv2.boxFilter(gray**2, ddepth=-1, ksize=(window_size, window_size))

threshold = mean + k * std_dev binary_image = (gray >= threshold).astype(np.uint8) * 255

return binary_image def sauvola_binarization(image, window_size=25, k=0.5, R=128):

"""Локальная бинаризация методом Сауволы."""

mean = cv2.boxFilter(gray, ddepth=-1, ksize=(window_size, window_size))

sqr_mean = cv2.boxFilter(gray**2, ddepth=-1, ksize=(window_size, window_size))

threshold = mean * (1 + k * ((std_dev / R) - 1))

binary_image = (gray >= threshold).astype(np.uint8) * 255

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 2

return binary_image def main():

if image is None:

print("Ошибка загрузки изображения")

binary_bernsen = bernsen_binarization(image, win-dow_size=25, contrast_ threshold=15)

binary_niblack = niblack_binarization(image, win-dow_size=25, k=-0.2)

binary_sauvola = sauvola_binarization(image, win-dow_size=25, k=0.1, R=128)

plt.subplot(2, 2, 1)

plt.subplot(2, 2, 2)

plt.subplot(2, 2, 3)

plt.subplot(2, 2, 4)

if __name__ == "__main__":

main()

Бинаризация полутоновых изображений на основе локальной пороговой фильтрации