Histogram Balanced Threshold Clipping Algorithm

Při zpracování obrazu se k binarizaci obrazu ve stupních šedi používá algoritmus vyváženého prahování histogramu [1] . Tento algoritmus předpokládá, že obrázek obsahuje pixely dvou tříd patřících do pozadí a popředí. Stejně jako metoda Otsu [2] a metoda iterativního prahování [3] je založena na iterativním hledání prahu, který rozdělí pixely do daných tříd. Při této metodě se váží dvě stejné části histogramu . Pokud jedna část převáží, pak se nejextrémnější sloupec odstraní z těžší části. Iterační postup končí, když v histogramu zůstane pouze jeden sloupec a jako prahová hodnota je vybrána odpovídající hodnota intenzity.

Vzhledem k jednoduchosti algoritmu jej lze doporučit jako první přístup při studiu algoritmů binarizace obrazu ve stupních šedi.

Algoritmus

Následující program v jazyce C je zjednodušenou verzí algoritmu prahování vyváženého histogramu:

int BHThreshold ( int [] histogram ) { i_m = ( int )(( i_s + i_e ) / 2,0f ); // výpočet váhového středu I_m w_l = get_weight ( i_s , i_m + 1 , histogram ); // váha levé strany histogramu W_l w_r = get_weight ( i_m + 1 , i_e + 1 , histogram ); // váha pravé strany histogramu W_r while ( i_s <= i_e ) { if ( w_r > w_l ) { // pravá strana je těžší 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 ) { // levá strana je těžší 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 ++ ; } } } návrat i_m ; }

Někdy může algoritmus poskytnout suboptimální výsledky při zpracování vysoce zašuměných obrázků, protože šum může vést k chybám při extrahování zlomků histogramu. Vliv šumu můžete výrazně snížit, pokud z uvažování vyloučíte nereprezentativní pruhy histogramu umístěné na jeho koncích [4] .

Literatura

  1. A. Anjos a H. Shahbazkia. Bi-Level Image Thresholding – Rychlá metoda. BIOSSIGNALS 2008. Vol:2. P:70-76.
  2. Nobuyuki Otsu (1979). „Metoda výběru prahových hodnot z histogramů na úrovni šedé“. IEEE Trans. sys., Man., Cyber. 9:62-66.
  3. Ridler TW, Calvard S. (1978) Prahování obrazu pomocí metody iterativního výběru, IEEE Trans. Systém, člověk a kybernetika, SMC-8: 630-632.
  4. A. Anjos, R. Leite, M. L. Cancela, H. Shahbazkia. MAQ - Bioinformatický nástroj pro automatickou analýzu Macroarray. Mezinárodní žurnál počítačových aplikací. 2010. Číslo 7 – Článek 1.

Odkazy