首页 > 其他分享 >基于MSER的车牌提取和字符分割仿真

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

时间:2023-04-30 23:55:10浏览次数:41  
标签:仿真 交通标志 极值 区域 灰度 图像 车牌 MSER

1.算法仿真效果

matlab2022a仿真结果如下:

 

 

 

 

 

 

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

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

 

MSER = Maximally Stable Extremal Regions

最大极值稳定区

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

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

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

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

 

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

 

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

 

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

 

 

 

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

 

MSER = Maximally Stable Extremal Regions

 

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

 

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

 

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

 

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

 

MSER提取过程

 

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

 

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

 

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

 

4.评判标准: dA/dt

 

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

 

 

 

 

3.MATLAB核心程序

 

[x,y]=size(bwimg);
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;

 

  

 

标签:仿真,交通标志,极值,区域,灰度,图像,车牌,MSER
From: https://www.cnblogs.com/51matlab/p/17366013.html

相关文章

  • m分别使用meanshift和camshift两种算法实现人员跟踪并输出人员移动曲线matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要       meanshift算法其实通过名字就可以看到该算法的核心,mean(均值),shift(偏移),简单的说,也就是有一个点,它的周围有很多个点 我们计算点 移动到每个点 所需要的偏移量之和,求平均,就得到......
  • 【通信仿真】基于matlab模拟自相干算法仿真
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • AXI_LITE仿真调试
    在SDK中使用xil_DCacheDisable(); 导出内存中的数据   所得的BIN文件可以用WINHEX打开 matlab代码 bin2bmpclear;clc;close;p_fid=fopen('../data/out.bin','r');a=fread(p_fid);col=1280;row=1024;IM=reshape(a,col,row);b=uint8(IM)';......
  • 【密码】量子密钥分发密钥率仿真附MATLAB代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 【机械仿真】基于matlab模拟自动摆钟
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • m基于simulink的负荷频率小波神经PID控制器仿真,并对比PID控制器
    1.算法仿真效果matlab2022a仿真结果如下:          其对比仿真结果可知,原系统需要在150之后才开始收敛,PID是在50开始收敛,而采用WNN之后,系统用在经过短暂的抖动之后,迅速收敛。 2.算法涉及理论知识概要        随着电力工业的市场化改革、厂网分开,跨区......
  • vivado 仿真查看内部信号
    vivado仿真时默认只查看testbench里的端口。如果想查看testbench调用模块的内部信号的仿真结果,可以如下图所示查看:点击调用的module,右击想查看的信号->addtowavewindow......
  • 基于MBD的控制系统建模与仿真软件工具集
    随着新能源汽车和自动驾驶技术的快速发展,汽车电子电气架构的发展已成为汽车行业推陈出新的主要动力:车内电控系统变得越来越复杂、软件迭代周期越来越短,汽车电子软件开发和测试的质量与效率要求也越来越高。汽车电控系统的设计开发已然成为复杂的系统工程。近年来,“基于模型的电子......
  • m基于信道差错概率模型仿真对比RS,汉明码以及卷积编译码性能,仿真输出信道差错概率与
    1.算法仿真效果matlab2022a仿真结果如下:        在数字通信系统中,数字通信系统及其相关部分必须满足误码率的最低规范要求。误码率是一个非常重要的指标,它衡量着系统性能的好坏,因此在数字通信领域中经常会遇到误码率的测试问题。误码率[是二进制比特流经过系统传......
  • selenium笔记之PC浏览器仿真移动端
    本来写的UI走查的代码主要场景是web浏览器,少量h5页面校验不值得大费周章用真机去跑背景:首先尝试了移动端真机巡检,但是不同机型,需要调试出合适的appPackage以及其它参数上一段代码:publicAndroidDrivergetWebDriverForAPP(){AndroidDriverappDriver=null;......