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


    第一天

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

    本文采用的是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是使用于更加精确的分类.

  • 相关阅读:
    java入门了解14
    java入门了解13
    java入门了解12
    java入门了解11
    Hive-安装
    Hive-基本概念
    Java笔记20
    Java-笔记19
    Java-笔记18-复习
    Java-笔记18
  • 原文地址:https://www.cnblogs.com/1510152012huang/p/5543830.html
Copyright © 2020-2023  润新知