基于MSER的车牌提取和字符分割仿真

简介: 基于MSER的车牌提取和字符分割仿真

1.算法仿真效果
matlab2022a仿真结果如下:

1fa3aa1fd9b39a8ad8d3823c27a3a7db_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
7446ab355f1203094f968ad4f8c10bab_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
1c6085af91589e40d6f0a9590356e490_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
65d179df398c58de4e524f8247fa98cd_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
218bed12e9bfc0b8304d07b52dc28696_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

 自然场景下的文本检测是自然场景图像信息提取的基础,在车牌识别、实时翻译、图像检索等领域具有广泛的应用价值及研究意义。基于连通区域的方法是自然场景文本检测中最为常见的方法,其中最大稳定极值区域(Maximally Stable Extremal Regions,MSER)算法和颜色聚类算法都有着广泛的应用。

MSER = Maximally Stable Extremal Regions
最大极值稳定区
业界认为是性能最好的仿射不变区域,MSER是当使用不同的灰度阈值对图像进行二值化时得到的最稳定的区域,特点:
1.对于图像灰度的仿射变化具有不变性
2.稳定性,区域的支持集相对灰度变化稳定
3.可以检测不同精细程度的区域

   交通标志检测和识别系统的关键在于交通标志候选区域的分割、交通标志的特征提取和分类器的设计。交通标志背景复杂,很难从其背景中将其分割出来,并且由于交通标志一般放在户外场景中,受外界原因(光照,损坏、遮挡等)影响较大,这就大大加大了交通标志检测的难度。交通标志本身种类繁多,相同形状的交通标志根据其象形图案的不同,意义千差万别,造成识别阶段准确率低。

   交通标志路牌中的每个交通标志信息均可以用一个区域特征来表示,最大稳定极值区域(Maximally Stable Extremal Regions,简称 MSER)就是一种很好的区域检测算子,它是由 Matas等人]提出的一种局部区域仿射不变特征的区域检查算子。该算子已用于大规模图像索、识别、以及跟踪,相比其他区域算子,该算子对图像灰度具有仿射变换不变性和多尺度检测目标的优点,能够很好的提取交通标志有效区域,有助于交通标志的定位及分割。MSER算法中,其极值区域的定义为和图像的阈值相关,设定好灰度阈值后,在图像中的某个区域能够成为极值区域的条件是无法再找到一个不大于所设定的灰度阈值的像素点去扩大当前区域。在所有的二值化图中,每个连通区域都是一个极值区域,即使是一个黑点,也是一个极值区域。任选两个极值区域,只有两种关系,一种是没有交集,一种是包含。每个二值图像上可以有多个极值区域,原始灰度图像中每个像素点可能对应多个二值图像上的极值区域。

  MSER算法中,其最大稳定极值区域的定义为极值区域随着设置的灰度阈值的增大而逐渐“长大”。这样的一组极值区域由小到大是相互嵌套的关系,分别用来表示这一系列相互嵌套的极值区域序列。如果为MSER,则其满足如下条件:

9495bb6b72d1e3027386768956241f71_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

   变量表示的是像素差值。由于 Q 是一个像素点的集合,所以绝对值代表的是该集合的基数,表示这个极值区域的面积。需先要先找到所有的极值区域,然后通过上面的“稳定标准”来确定最终的 MSER。

MSER = Maximally Stable Extremal Regions

业界认为是性能最好的仿射不变区域,MSER是当使用不同的灰度阈值对图像进行二值化时得到的最稳定的区域,特点:

1.对于图像灰度的仿射变化具有不变性

2.稳定性,区域的支持集相对灰度变化稳定

3.可以检测不同精细程度的区域

MSER提取过程

1.使用一系列灰度阈值对图像进行二值化处理

2.对于每个阈值得到的二值图像,得到相应的黑色区域与白色区域

3.在比较宽的灰度阈值范围内保持形状稳定的区域就是MSERs

4.评判标准: dA/dt

A: 二值图像区域面积,t: 灰度阈值

3.MATLAB核心程序

j=1;
cwidth=[];
whole=x*y;
connComp = bwconncomp(bwimg); % Find connected components
threefeature = regionprops(connComp,'Area','BoundingBox','Centroid'  );
broder=[threefeature.BoundingBox];%[x y width height]字符的区域
area=[threefeature.Area];%区域面积
centre=[threefeature.Centroid];
%area
for i=1:connComp.NumObjects
    leftx=broder((i-1)*4+1);
    lefty=broder((i-1)*4+2);
    width=broder((i-1)*4+3);
    height=broder((i-1)*4+4);
    cenx=floor(centre((i-1)*2+1));
    ceny=floor(centre((i-1)*2+2));
   
    if area(i)<10||area(i)>0.3*whole
        %display(area(i));
        bwimg(connComp.PixelIdxList{i})=0;
    elseif width/height<0.1||width/height>2
        %display(width),display(height);
        bwimg(connComp.PixelIdxList{i})=0;
    else
        cwidth=[cwidth,width];
        rectangle('Position',[leftx,lefty,width,height], 'EdgeColor','g','LineWidth',1);
        seg_img_color{j}=colorImg(lefty+1:lefty+height,leftx+1:leftx+width,:); % +1 避免索引为0
        seg_img_bw{j}=p_img(lefty+1:lefty+height,leftx+1:leftx+width);
        j=j+1;
    end
end
 
 
p_image=bwimg;
相关文章
|
28天前
|
算法 计算机视觉 Python
使用分水岭算法分割图像
【6月更文挑战第4天】使用分水岭算法分割图像。
58 4
|
11月前
|
数据采集 人工智能 算法
基于模板匹配算法的车牌数字字母识别matlab仿真,带GUI界面
基于模板匹配算法的车牌数字字母识别matlab仿真,带GUI界面
|
11月前
|
机器学习/深度学习 算法 计算机视觉
基于形态学处理的条形码数字分割和识别算法MATLAB仿真
基于形态学处理的条形码数字分割和识别算法MATLAB仿真
|
存储 文字识别 算法
m基于MATLAB的发票数字信息识别算法仿真,通过形态学处理进行字符分割,通过模板匹配实现数字字母识别
m基于MATLAB的发票数字信息识别算法仿真,通过形态学处理进行字符分割,通过模板匹配实现数字字母识别
140 0
m基于MATLAB的发票数字信息识别算法仿真,通过形态学处理进行字符分割,通过模板匹配实现数字字母识别
|
机器学习/深度学习 传感器 算法
【图像隐藏】基于RS码结合小波变换实现数字水印嵌入与提取附Matlab代码
【图像隐藏】基于RS码结合小波变换实现数字水印嵌入与提取附Matlab代码
|
文字识别
【数图大作业】基于模板匹配的文字识别(二)(文字行列分割)
【数图大作业】基于模板匹配的文字识别(二)(文字行列分割)
【数图大作业】基于模板匹配的文字识别(二)(文字行列分割)
|
算法
基于模板和形态学处理的车牌检测分割和识别matlab仿真,可以识别其中的一个英文字母和所有数字
基于模板和形态学处理的车牌检测分割和识别matlab仿真,可以识别其中的一个英文字母和所有数字
129 0
基于模板和形态学处理的车牌检测分割和识别matlab仿真,可以识别其中的一个英文字母和所有数字
|
算法
基于hough变换的条形码数字分割和数字识别matlab仿真
基于hough变换的条形码数字分割和数字识别matlab仿真
132 0
基于hough变换的条形码数字分割和数字识别matlab仿真
|
算法
基于形态学处理的车牌提取,字符分割和车牌识别算法matlab仿真
基于形态学处理的车牌提取,字符分割和车牌识别算法matlab仿真
158 0
|
机器学习/深度学习 存储 文字识别
图像数字识别、数字分割(OCR识别,毕业设计)
图像数字识别、数字分割(OCR识别,毕业设计)
243 0