基于连通分量特征的文本检测与分割

第一天

基于连通分量特征的文本检测与分割

本文采用的是NIblack算法对图像进行分割.该算法的原理如下:

;I变换为Niblack三值图

;

其中和分别表示像素点(x,y,)邻域内的灰度值和灰度标准差,W为邻域尺度,当邻域尺度为40*40,取得最佳的效果,k常取0.185.

Niblack的程序如下:

I = imread('E:mmtlable utu.png');  

I = rgb2gray(I);  %将彩色图像转化为灰度图像    若去掉则表示彩色图形的图像分割  

w =  2;%     

max = 0;     

min = 0;     

[m,n] = size(I);     

T = zeros(m ,n );     

for i = (w + 1):(m - w)     

    for j = (w + 1):(n - w)        

        sum = 0;  

        for k = -w:w     

            for l = -w:w     

                sum = sum + uint32(I(i + k,j + l));  

            end     

        end     

        average = double(sum) /((2*w+1)*(2*w+1));  

        s = 0;  

        for k = -w:w     

            for l = -w:w     

                s = s +   (uint32(I(i + k,j + l)) - average)*(uint32(I(i + k,j + l)) - average);  

            end     

        end     

        s= sqrt(double(s)/((2*w+1)*(2*w+1)));  

          

        T(i,j) = average + 0.2*s;  

    end     

end     

for i =  1:m   

    for j = 1:n   

        if I(i,j) > T(i,j)     

            I(i,j) = uint8(255);     

        else    

            I(i,j) = uint8(0);     

        end     

    end     

end     

imshow(I);  

仿真效果图如下:

 

本文的分类算法采用的是级联分类器和支持向量机(SVM).级联分类器的结构如下图所示:

 

如图所示,每个分类器只负责一个特征,让所有的连通分量依次通过级联分类器,则最后90%的非文本分量被丢弃.SVM是使用于更加精确的分类.

原文地址:https://www.cnblogs.com/1510152012huang/p/5543830.html