zoukankan      html  css  js  c++  java
  • 基于连通分量特征的文本检测与分割

    第一天

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

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

  • 相关阅读:
    学习linux之用户-文件-权限操作
    Hadoop--Hadoop的机架感知
    redhat 6.3 64位安装中文输入法全过程记录
    hdu 4619 Warm up 2(并查集)
    openGL 初试 绘制三角形 和添加鼠标键盘事件
    MySQL 启动服务报错解决方案
    20亿与20亿表关联优化方法(超级大表与超级大表join优化方法)
    50行python代码实现个代理server(你懂的)
    nginx+tomcat反复请求
    慢慢过渡到个人博客
  • 原文地址:https://www.cnblogs.com/1510152012huang/p/5543830.html
Copyright © 2011-2022 走看看