Алгоритм сбалансированного порогового отсечения гистограммы

Алгоритм сбалансированного порогового отсечения гистограммы

При обработке изображений, алгоритм сбалансированного порогового отсечения гистограммы [1], используется для бинаризации полутонового изображения. В этом алгоритме предполагается, что изображение содержит пиксели двух классов, принадлежащие фону и переднему плану. Как и Метод Оцу [2] и метод итеративного выбора порога [3], он основан на итеративном нахождении порогового значения, которое разделяет пиксели на данные классы. В этом методе взвешиваются две равные доли гистограммы. Если одна часть перевешивает, то из более тяжелой части удаляется наиболее крайний столбик. Итеративная процедура заканчивается, когда в гистограмме остается только один столбик и соответствующее ему значение интенсивности выбирается в качестве порогового значения.

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

Исходное изображение.
Бинаризированное изображение.

Алгоритм

Следующая программа на языке Си – это упрощенная версия алгоритма сбалансированного порогового отсечения гистограммы:

  int BHThreshold(int[] histogram) {
      i_m = (int)((i_s + i_e) / 2.0f); // расчет центра весов I_m
      w_l = get_weight(i_s, i_m + 1, histogram); // вес левой части гистограммы W_l
      w_r = get_weight(i_m + 1, i_e + 1, histogram); // вес правой части гистограммы W_r
      while (i_s <= i_e) {
          if (w_r > w_l) { // правая часть тяжелее
              w_r -= histogram[i_e--];
              if (((i_s + i_e) / 2) < i_m) {
                  w_r += histogram[i_m];
                  w_l -= histogram[i_m--];
              }
          } else if (w_l >= w_r) { // левая часть тяжелее
              w_l -= histogram[i_s++]; 
              if (((i_s + i_e) / 2) > i_m) {
                  w_l += histogram[i_m + 1];
                  w_r -= histogram[i_m + 1];
                  i_m++;
              }
          }
      }
      return i_m;
  }

Иллюстрация пошаговой реализации метода.

Иногда алгоритм может давать неоптимальные результаты при обработке сильно зашумленных изображений, поскольку шум может привести к ошибкам при выделении долей гистограммы. Можно значительно ослабить влияние шума, если исключить из рассмотрения непрезентативные столбики гистограммы, расположенные на её концах [4].

Литература

  1. A. Anjos and H. Shahbazkia. Bi-Level Image Thresholding - A Fast Method. BIOSIGNALS 2008. Vol:2. P:70-76.
  2. Nobuyuki Otsu (1979). "A threshold selection method from gray-level histograms". IEEE Trans. Sys., Man., Cyber. 9: 62–66.
  3. Ridler TW, Calvard S. (1978) Picture thresholding using an iterative selection method, IEEE Trans. System, Man and Cybernetics, SMC-8: 630-632.
  4. A. Anjos, R. Leite, M. L. Cancela, H. Shahbazkia. MAQ – A Bioinformatics Tool for Automatic Macroarray Analysis. International Journal of Computer Applications. 2010. Number 7 - Article 1.

Внешние ссылки

ImageJ Plugin


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное



Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»