基于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;
相关文章
|
数据可视化 关系型数据库 编译器
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
1832 2
|
算法 API 计算机视觉
图像处理之角点检测与亚像素角点定位
图像处理之角点检测与亚像素角点定位
299 1
|
机器学习/深度学习 算法
深入理解SVM中的核函数及其应用
深入理解SVM中的核函数及其应用
404 78
|
存储 算法 计算机视觉
OpenCV(四十二):Harris角点检测
OpenCV(四十二):Harris角点检测
525 0
|
虚拟化
VMware Workstation产品常用的快捷键
文章介绍了VMware Workstation产品中常用的快捷键及其功能,包括对虚拟机的控制、设置、快照管理等操作,同时提供了作者的联系方式和博客链接。
900 15
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】贝叶斯算法在机器学习中的应用与实例分析
【机器学习】贝叶斯算法在机器学习中的应用与实例分析
1312 1
__declspec(dllexport) 和 __declspec(dllimport)
__declspec(dllexport) 和 __declspec(dllimport)
669 0
|
机器学习/深度学习 算法 数据处理
机器学习归一化特征编码(一)
特征缩放是机器学习预处理的关键步骤,它包括归一化和标准化。归一化通过最大最小值缩放,将数据转换到[0,1]区间,有助于梯度下降算法更快收敛,减少数值较大特征的影响。标准化则通过减去均值并除以标准差,确保数据具有零均值和单位方差,适用于关注数据分布情况的算法。例如,欧氏距离计算时,未归一化的特征可能导致模型偏向数值较大的特征。归一化能提升模型精度,尤其是当距离度量如欧式距离时。常见的实现方法有`MinMaxScaler`,它将每个特征值缩放到用户指定的范围,如[0,1]。而`StandardScaler`执行Z-Score标准化,数据分布符合标准正态分布。
|
安全 Linux 芯片
很有用的速度优化:让系统启动速度更快
很有用的速度优化:让系统启动速度更快