Большой закон для достижения бинаризации изображения

  • шаги алгоритма:

 

    1. Сформировать гистограмму, т.е. подсчитать количество пикселей каждого уровня серого.

    2. Гистограмма нормализуется, то есть, общая рассчитывается для каждого пикселя пикселей шкалы уровней серого.

    3. Итеративной градации от 0 до 255 серой шкалы, каждая итерация соотношение пикселей переднего плана (w0 пикселей градации от 0 до градации текущей итерации), и вычисляет средние пиксельные передний план U0 градационных значения; 

     Пропорциональный расчет пиксель фона (градации текущей итерация градации 255 пикселей), и в среднем градаций w1 из U1;  

    4. Каждая итерация фона и переднего плана пикселей вычисляется дисперсия г = w 0 * w1 * (и0-и1) ^ 2;

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

 

 

 

  • Алгоритм работы:

 

    Упомянутое число передних плана пикселей n0, отношение w0, и градация s0, u0 является средним серым, количество пикселей фона n1, отношение w1 и градация s1, среднего уровня серого U1;

    Общее количество пикселей изображения равно п, и градация с, средним серыми и. Между классом-дисперсии г.

    Он имеет следующую формулу:

      w 0 = n0 / п; w 1 = N 1 / N; N0 + N1 = п; w 0 + w 1 = 1;

      и0 = s0 / n0; u1 = s1 / n1; и = з / п и = и0 * и0 + и1 * w 1;

      г = w0 * (и0-и) ^ 2 + w 1 (и1-и) ^ 2;  

    В конце концов, прибудете г = w0 * w1 * (u0-u1) ^ 2;

 

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

 

 

  • Алгоритм:

    Для того чтобы уменьшить глубину итераций, используя формулу и = u0 * w 0 + w 1 * u1 от до г = w 0 * w1 * (и0-и1) ^ 2 в u1, чтобы дать формулу:

      г = w 0 / (1-w 0) * (и0-и) ^ 2

 

    Код реализуется следующим образом:   

    

беззнаковое символ Ostu ( INT размер, беззнаковое символ * изображение) 
{ 
    Int I; 
    беззнаковое символ пороговое значение = 0 ;                         // пороговое значение 
    с плавающей точкой дисперсии = 0 ;                                     // дисперсия между двумя классами 
    с плавающей точкой maxvariance = 0 ;                             // максимальной дисперсии 
    с плавающей точкой Серый = 0 ;                                     / / передний план в оттенках серого 
    с плавающей точкой W0 = 0 ;                                        // на первом план соотношения пикселей 
    с плавающей точкой U0 = 0 ;                                         // переднего план означает серый 
    поплавок U = 0 ;                                         // Общий среднего уровень серого, я = передний план можно рассматривать как серую шкалу при 255 
    с плавающей точкой Гистограммы [ 256 ] = { 0 };                         // гистограмма 

    для (I = 0 ; I <размер, я ++ ) { 
        гистограмма [ * (изображение + I)] ++;                     // пиксель гистограммы 
    } 

    для (I = 0 ; I < 256 ; я ++ ) { 
        гистограмм [ я]/ = Размер;                             // коэффициент гистограммы 
        U + = Гистограмма [I] , I *;                             // Получить Перспективы я = 255 серой шкалы, то есть, общий средний серый 
    } 

    для (я = 0 ; I < 256 ; я ++ ) { 
        W 0 + = Гистограмма [I];                             // переднего плана отношение пикселей 
        серый Гистограмма + = I * [I];                         // переднего плана серая шкала 
        U0 = серый / W 0;                                     // переднего плана переднего плана = серая шкала среднее соотношение серый / серый пиксель = степень и / пиксель и 
        дисперсия = W0 / ( 1. -w0) * (U-U0) * (U-U0);             // найти дисперсию 
        IF (дисперсия> maxvariance) {
            maxvariance = дисперсия; 
            порог = я;                             // максимальное значение G I в качестве соответствующего глобального порога изображения 
        }         
    } 

    возврата порога; 
}

 

 

 

           

      

    

 

рекомендация

отwww.cnblogs.com/kensporger/p/11270452.html