精华内容
下载资源
问答
  • 粘连字符分割、字符识别、车牌分割等,基于matlab编译
  • 破解验证码论文以及源代码图形分割 带粘连字符分割 SVM算法分析图形处理 这个本人研究验证码多年收集整理的资料已经研究成果,其中包含大量源代码,已经可以直接使用的软件。同时对比较难得带 带粘连字符分割问题的...
  • 【验证码分割识别】一种基于前端预测识别的粘连字符分割方法 【验证码分割识别】一种基于前端预测识别的粘连字符分割方法
  • 一种基于前端预测识别的粘连字符分割方法,最经典的图像分割方法!
  • 破解验证码论文以及源代码图形分割 带粘连字符分割 SVM算法分析图形处理 这个本人研究验证码多年收集整理的资料已经研究成果,其中包含大量源代码,已经可以直接使用的软件。同时对比较难得带 带粘连字符分割问题的...
  • 众多研究表明,如果能将验证码中的字符分割开来,用现有的机器学习算法一般都能取得比较好的识别效果。针对字符粘连情况下的验证码的识别问题,提出了一种粘连字符的分割方法。该方法将字符的宽度统计值和竖直投影...
  • 最后,我们将遗传算法和识别反馈结合起来完成字符分割与识别。 实验结果表明,本文提出的方法在解决强粘连多字符串的分割与识别方面取得了不 错的效果,同时反馈机制的引入,也提高了识别的可靠度。
  • 破解验证码论文以及源代码图形分割 带粘连字符分割 SVM算法分析图形处理 这个本人研究验证码多年收集整理的资料已经研究成果,其中包含大量源代码,已经可以直接使用的软件。同时对比较难得带 带粘连字符分割问题的...
  • 破解验证码论文以及源代码图形分割 带粘连字符分割 SVM算法分析图形处理 这个本人研究验证码多年收集整理的资料已经研究成果,其中包含大量源代码,已经可以直接使用的软件。同时对比较难得带 带粘连字符分割问题的...
  • 粘连字符分割初探~~

    2016-04-06 22:10:00
    学习验证码快一个星期了,终于把样本集切出来了,现在问题是如何切粘连字符,现在将自己的学习过程记录下来;  第一部分: 下面很大一部分转自http://drops.wooyun.org/tips/141;感谢原作者。 我们知道,对于不...

      学习验证码快一个星期了,终于把样本集切出来了,现在问题是如何切粘连字符,现在将自己的学习过程记录下来;

      第一部分:

    下面很大一部分转自http://drops.wooyun.org/tips/141;感谢原作者。

    我们知道,对于不黏连的字符,直接用扫描线分割法就可以,就是看哪一个竖条上没有文字像素,则这个竖条就是两个字符间的空白部分;

    当然,对于不黏连的字符,CFS算法效果也很好,它主要是利用连通域进行划分;

    还有CFS4D的方法,他只扫描上下左右4个像素来判断是否为种子的连通域;

    而CFS则是将他周围的8个像素来判断的。

     

    对于每次字符大小和数量都一样的验证码还可以用平均分割法,也就是直接先把中间的文字部分整体切出来,然后按宽度平均分成几份,这种方式对字符粘连比较多用其他方式不好分割的验证码很有用

     

    对于有少许粘连但是只是在字符边角的地方重叠几个像素的验证码,可以用垂直像素直方图的统计方法分割。就是对每一个竖条,统计该竖条上出现的像素数(当然,前提要是二值化的图)

    还有滴水算法;

     

    http://drops.wooyun.org/tips/141

    上半部分是垂直像素直方图的一种直观展示,假如图片宽度为100像素,则把图片切割为100个1像素的竖线,下面的红色部分为当前x坐标上所有黑色像素的总和。这么一来可以很容易的通过直方图的波峰波谷把4个字母分割开。图片的下半部分是扫描线分隔法,因为干扰线和字符旋转的存在,只有M和5直接才出现了连续的空白部分。

     

    除了垂直像素直方图,还可以从不同的角度进行斜线方向的像素数投影,这种方式对于每次全体字符都随机向一个角度旋转的验证码效果很好。

     

    另外对于彩色的验证码,还可以用颜色分割

     

    作为验证码识别里的难点,分割字符还有很多种算法,包括笔画分析曲线角度分析等等,不过即便如此,对粘连的比较厉害的字符还是很难成功的

     

    还原随机旋转的字符一般采用的是旋转卡壳算法:

     

    此算法非常简单,对一张图片左右各旋转30度的范围,每次1度,旋转后用扫描线法判断字符的宽度,对于标准的长方形字体,在完全垂直的时候肯定是宽度最窄的。嗯?纳尼?上面的图是中间的最窄?好像的确是这样,不过只要每次旋转后的结果都一样,对于识别率不会有影响。

    扭曲还原的算法比较蛋疼,效果也不怎么样(其实我不会),不过如果识别算法好的话,对扭曲的字符只要人能认出来,识别率也可以达到接近人类的水准。

     第二部分:

        锐化 & 平滑:  图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰。

        

      题外话:

        今天编码的时候有很多细节问题,处理不好,一上手就开始码字,编完一编译才发现很多图片序号问题不对,然后各种修改,原本清晰地代码被改的面目全非,哎,岂是一个心累能表达的,教训:以后编码之前要好好思考一下,细节的处理,最好可以写个大概的框架出来,这样避免很多细节问题恶化,甚至影响整体思路。

    转载于:https://www.cnblogs.com/soulmate1023/p/5360046.html

    展开全文
  • 老师前些日子给了我篇IEEE的论文,论文题目是Segmentation of Touching Symbols for OCR of Printed Mathematical,论文我也看了,这篇论文讲的主要是确定粘连字符的方向和位置,对于像根号x这样的包含关系的根本...
  • 基于自组织映射神经网络的粘连字符的分割,张玉林,,用自组织映射神经网络作为粘连字符分割的方法,对经典的自组织学习规则做了一些改进,使其以较少的神经元结点、较快的速度逼近粘
  • 字符分割时对粘连字符的处理方法

    千次阅读 2019-04-23 16:54:46
    方法1:opening_rectangle1 (Solid, Cut, 1, 7),使用该方法进行分割,1是宽度,7是高度。...方法2:使用partition_rectangle或partition_dynamic进行等间隔的字符分割,要求字符的间隔尽量保持一致 parti...

    方法1:opening_rectangle1 (Solid, Cut, 1, 7),使用该方法进行分割,1是宽度,7是高度。Halcon范例bottle.hdev: Segment and read numbers on a beer bottle

    方法2:使用partition_rectangle或partition_dynamic进行等间隔的字符分割,要求字符的间隔尽量保持一致

    partition_dynamic(Region: Partitioned: Distance, Percent : )     函数作用:

    在水平位置上以参数Distance的宽度分割区域,分割得到的位置是相对小的垂直部分。分割原理如下:

    1、初始的分割位置是在水平方向上平均分配,也就是结果部分拥有相同的宽度。

    2、分割后的块数N是由参数Distance决定的,而Distance是由输入区域的宽度除以N决定的。

    3、分割后的等份区域进一步还计算区域间的最小垂直程度Percent,最后分割的位置与初始的最大浮动差是Distance*Percent*0.01

     

    注:

     

    参数列表:

    Region(in):输入的被分割区域

    Partitioned(out):分割的区域

    Distance(in):分割区域的大概宽度

    Percent(in):分割位置的最大分数偏移

     

    可能前置项

    threshold, connection

     

    可能替代项

    partition_rectangle

    方法3:滴水分割算法,该算法还没有研究

     

    将这个字符进行分割开的代码思路

    read_image (Image5, 'C:/Users/yuexinzheng/Desktop/5.png')
    threshold (Image5, Region1, 0, 123)
    fill_up (Region1, RegionFillUp1)
    closing_circle (RegionFillUp1, RegionClosing, 5.5)
    closing_rectangle1 (RegionClosing, RegionClosing1, 10, 19)
    fill_up (RegionClosing1, RegionFillUp2)
    *主要是利用opening_rectangle1()函数,将图像部分进行膨胀,使接线明显且加大
    opening_rectangle1 (RegionFillUp2, RegionOpening1, 2, 44)
    *取分割开的图与原Region的重叠区域
    intersection (Region1, RegionOpening1, RegionIntersection1)

    方法2的代码实现

    read_image (Image5, 'C:/Users/yuexinzheng/Desktop/5.png')
    char_threshold (Image5,Image5 , Characters, 2, 95, Threshold)
    smallest_rectangle1 (Characters, Row1, Column1, Row2, Column2)
    region_features (Characters, 'width', Value)
    partition_dynamic (Characters, Partitioned, Value/2, 90)

    分割效果图

    展开全文
  • 摘要:为了解决车牌字符分割中不连通汉字分割、粘连字符分割以及竖直边框干扰等问题,提出了一种基于改进连通域算法的车牌字符分割方法.采用改进的连通域算法并结合车牌尺寸的先验知识进行车牌字符的粗分割,运用二...

    )

    收稿日期

    基金项目

    国家自然科学基金资助项目

    (

    )

    作者简介

    朱亚萍

    (

    )

    江苏张家港人

    教授

    检测技术与自动化装置

    摘要

    为了解决车牌字符分割中不连通汉字分割

    粘连字符分割以及竖直边框干扰等问题

    提出了

    一种基于改进连通域算法的车牌字符分割方法

    采用改进的连通域算法并结合车牌尺寸的先验知

    识进行车牌字符的粗分割

    运用二分

    域算法与传统的二分投影法

    实验结

    的问题

    具有较高的实用性

    关键词

    车牌

    字符分割

    连通域

    中图分类号

    文献标识码

    文章编号

    (

    )

    现代交通管理系统智能化是智慧城市的一个重要发展方向

    而汽车牌照自动识别系统是其不可或

    缺的一环

    车牌字符的准确分割是车牌字符正确识别的前提

    车牌字符分割主要存在

    个难点

    分别

    为汉字不连通

    多字符粘连

    竖直边框噪声干扰

    对车牌字符进行分割的常用方法有投影法

    连通域法

    静态边界法

    文献

    使用的投影法速度快

    多字

    但是不能很好地解决汉字不连通问

    文献

    使用的连通域法可以有效地分割连通的字符

    但是标记算法需要扫描两遍像素点

    运行速度

    而且对汉字不连通问题也不能很好地解决

    文献

    使用的静态边界法可以解决汉字不连通问题

    是对车牌图像质量要求高

    针对上述分割方法的不足以及字符分割存在的难点

    本文在研究连通域算法

    的基础上

    结合车牌尺寸的先验知识

    提出了一种改进的连通域字符分割算法

    车牌字符分割算法的流程

    在车牌识别系统中

    对车牌进行精确定位及图像预处理后

    车牌的字符需要进行逐个分割

    以便于

    下一步进行识别

    基于连通域算法的车牌字符分割算法通常会采用由粗到精的字符分割思想

    算法流程如下

    )

    车牌图像预处理

    对校正后的车牌图像进行光照不均校正

    对比度增强

    二值化处理以及尺寸归

    一化

    预处理能有效地克服车牌图像中存在的噪声干扰

    )

    车牌字符粗分割

    粗分割通常是采用基于连通域算法的车牌字符分割方法

    对经过预处理后的车

    牌图像进行第一步分割

    )

    车牌字符细分割

    细分割算法采用的是二分垂直投影法

    可以解决字符粘连的问题

    确保整个

    字符分割算法的可靠性

    连通域算法的改进

    图像的连通区域是指具有同一像素值并且像素点位置关系符合某种规则的区域

    展开全文
  • 为了解决粘连字符构成的验证码分割成功率低的问题,提出了一种基于SOM(self-organizing maps)神经网络聚类与维诺图(Voronoi)骨架形态分析相结合的粘连字符分割算法。该算法通过连通分量区分粘连字符,然后利用...
  • 关于图像分割很好的东西,值得好好看!写论文必不可少
  • Matlab代码文字识别:包括图像分割,粘连字符切分,文字识别
  • 着重于有粘连字符的猫扑和西祠胡同网站验证码进行识别,难点在于分割图片中的粘连字符。对字符是模糊粘连的猫扑验 证码,提出了基于局部极小值和最小投影值的方法来分割;对有交错粘连的西祠胡同验证码,通过颜色...
  • 对提取出的粘连字符通过定位线可确定出粘连区域,对粘连点所处位置进行统计分析后在该位置处添加一条与背景同色细线从而达到分割效果,最后对分割后的粘连文本行通过着色方法逐行提取。实验表明,上述问题通过我们的...
  • 粘连字符 切分 综述

    2010-03-03 15:57:37
    介绍了粘连字符的几种切分方法……具体请看文章 中的介绍
  • 利用固定区域坐标提取固定区域的单行数据字符块;基于高斯模糊提取随机手写黑子信息字符区;...利用颜色填充分割算法分割出单行数据字符块中的单个字符和粘连字符,结合平均字符宽度信息进一步分割粘连字符
  • 传统的字符分割方法一般针对单行车牌,本文提出一种针对单行和双行两种结构的车牌字符分割方法。首先进行图像预处理,减少噪声及环境干扰。将车牌图像分为两部分,对前两个字符的部分先垂直投影,再结合先验知识判断...
  • 字符定位与字符分割

    万次阅读 2015-05-07 08:46:48
    Abstract:字符串识别最重要的是字符串定位以及字符分割。例如做车牌识别,车牌字符定位和分割是最难的部分。对于一张字符串的图像,首先必须要定位出字符串的边界,然后分别对字符串进行单个切割,单个分割出来的...

    Abstract字符串识别最重要的是字符串定位以及字符串分割。例如做车牌识别,车牌字符定位和分割是最难的部分。对于一张字符串的图像,首先必须要定位出字符串的边界,然后分别对字符串进行单个切割,单个分割出来的字符再做识别。 下面就介绍字符串定位和字符串分割的方法。

    1. 字符串定位
    下面先看一幅手写字图片


    我们需要做的是找出整个字符的边界然后对图片进行切割。
    对于一张 M×N 大小的图片I,我们先对图片进行二值化处理。一张图片可以看成一个矩阵,这样这个矩阵里面的数字不是1就是0。我们需要对这个矩阵进行行扫描和列扫描。对于列扫描和行扫描统计一行或者一列中1的个数分别有如下公式:
    colA =Mj=1Ij
    rowA =Ni=1Ii
    这样就统计出每一列或者每一行的1的个数。下图为统计图:

    这下我们可以定义出左边界、右边界、上边界、下边界。这样就可以切割出字符串的边界如下图所示:


    xfenge.m

    function [ix,iy]=xfenge(goal1)
    [m,n]=size(goal1);
    ix(m)=0;
    xx=0;j=1;
    for  x=1:m
        for y=1:n
            if goal1(x,y)==1;
                xx=1;
            end
        end
        if xx==1
            ix(j)=x;
            j=j+1;
        end
    end
    ix=ix(1);
    
    
    iy(m)=0;
    xx=0;j=1;
    for  x=m:-1:1
        for y=n:-1:1
            if goal1(x,y)==1;
                xx=1;
            end
        end
        if xx==1
            iy(j)=x;
            j=j+1;
        end
    end
    iy=iy(1);

    yfenge.m

    function [jx,jy]=yfenge(goal1)
    [m,n]=size(goal1);
    jx(m)=0;
    xx=0;j=1;
    for  y=1:n
        for x=1:m
            if goal1(x,y)==1;
                xx=1;
            end
        end
        if xx==1
            jx(j)=y;
            j=j+1;
        end
    end
    jx=jx(1);
    
    
    jy(m)=0;
    xx=0;j=1;
    for  y=n:-1:1
        for x=m:-1:1
            if goal1(x,y)==1;
                xx=1;
            end
        end
        if xx==1
            jy(j)=y;
            j=j+1;
        end
    end
    jy=jy(1);
    

    2. 字符分割
    对于字符分割我们只看X方向,对于X我们可以看到很多断点,如下所示


    我们可以统计出断点的位置来对不同字符进行分割,两个段点之间能进行确定一个字符。当然这个只是针对未粘连的字符,但是对于粘连字符断点可以设置一个小的阈值来当做断点。这个需要根据实际处理的字符串来判断。下面给出结果和代码:

    I=imread('24.jpg');
    figure(1)
    imshow(I)
    I=rgb2gray(I);
    I=1-im2bw(I);
    [ix1,iy1]=xfenge(I);
    [jx1,jy1]=yfenge(I);
    goal=I(ix1:iy1,jx1:jy1);
    goal=[zeros(size(goal,1),2) goal zeros(size(goal,1),2)];
    a=sum(goal);
    label=find(a>0);
    summ=0;
    j=1;
    for i=1:length(label)-1
        if (label(i+1)-label(i))>1
            KK(j)=label(i);
            JJ(j)=label(i+1);
            summ=summ+1;
            j=j+1;
        end
    end
    %figure(2)
    JJ=[3 JJ];
    KK=[KK size(goal,2)-2];
    summ=summ+1;
    figure(2)
    for i=1:summ
        subplot(1,summ,i);
        II=goal(:,JJ(i)-2:KK(i)+2);
        II=imresize(II,[25,18]);
        imshow(II);
        hold on
    end

    车牌等字符串定位分割也可以采用类似的方法。

    展开全文
  • 基于曲线拟合的字符分割方法,周谷鸣,雷汝海,针对货运敞车车号既有粘连又有断裂的情况,提出了基于曲线拟合的字符分割方法。该方法首先统计字符上方和下方的像素数,得到一组
  • Halcon 字符分割的一般方式

    千次阅读 2020-03-13 22:32:20
    Halcon 字符分割的一般方式OCR识别的关键:字符分割问题:通过以上步骤后,有些字符还是会粘连在一起,无法分割开,该如何操作? OCR识别的关键:字符分割 进行OCR字符识别之前,关键的一步在于图像预处理时,能够将...
  • 粘连字符切分matlab

    2009-02-03 16:41:22
    先检测顶端轮廓,再检测底部轮廓,确定文字高度,进行轮廓线的凹凸检测,切分.
  • 字符分割方法1

    2015-11-20 21:55:21
    当验证码图片之间没有字符粘连时,在竖直方向进行投影,字符间的的间隙出现投影值为零的区域,根据这些字符为零的区域确定字符分割的位置。 基本步骤如下: 1.对矩阵的每一列,令白点用1表示,黑点用0表示,记录个...
  • 字符的分割是指在原图中将字符分割为单个的字符区域。这样,这些单个的字符才能被当作字符样本来训练分类器。因此,样本字符分割的好坏很大程度上影响mlp分类器的分类效果。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 971
精华内容 388
关键字:

粘连字符分割