zoukankan      html  css  js  c++  java
  • 车牌字符提取

    本次主要是对车牌进行提取,将车牌中的数字提取出来,相对较为简单的图像处理,通过简单的腐蚀膨胀即可

    原图如下:

    处理如下:

    第一次整体分割:

    第二次整体处理如下:

    最后效果如下:

    其代码如下:

    i=imread('KPT.jpg');
    i=rgb2gray(i);
    %i=imadjust(i,[0.3 0.6], [0.1 1], 5);
    i=im2bw(i,0.7);
    [m,n]=size(i);
    %四周置黑
    %i=medfilt2(i, [7 7]);
    i(1:50,1:n)=0;
    i(m-49:m,1:n)=0;
    i(1:m,1:50)=0;
    i(1:m,n-49:n)=0;
    figure(1),subplot(2,2,1),imshow(i),title('after pre-process')
    
    %关键函数:imerode();imreconstruct();imsubtract();
    %腐蚀
    se=ones(1,71);
    marker=imerode(i,se);
    figure(1),subplot(2,2,2),imshow(marker),title('第一次腐蚀')
    %重构
    f_obj=imreconstruct(marker,i);
    figure(1),subplot(2,2,3),imshow(f_obj),title('第一次重构')
    %相减
    f_thr=imsubtract(i,f_obj);
    figure(1),subplot(2,2,4),imshow(f_thr),title('第一次相减')
    %去除噪声点
    %首先先去除大的噪声点,通过先提取出大的噪声点再进行相减
    %提取大的噪声点
    f1=f_thr;
    f1=ordfilt2(f1,1,ones(6,6));% 最小值滤波
    se=ones(1,1);
    f1=imerode(f1,se);
    SE=strel('disk',2);
    f2=imerode(f1,SE);
    figure(2),subplot(2,2,1),imshow(f1),title('第二次腐蚀')
    f3=imreconstruct(f2,f_thr); 
    figure(2),subplot(2,2,2),imshow(f3),title('第二次重构')
    %通过相减得出小噪声点加上车牌号
    f4=imsubtract(f_thr,f3);
    figure(2),subplot(2,2,3),imshow(f4),title('第二次相减')
    %得出最后车牌号图像
    f5=bwareaopen(f4,50);
    figure(2),subplot(2,2,4),imshow(f5),title('车牌号')
    figure(3),subplot(1,1,1),imshow(f5),title('最终得出图像')
    

     效果如下所示

  • 相关阅读:
    JS实现菜单滚动到一定高度后固定
    原生js如何获取某一元素的高度
    在Vue项目中,添加的背景图片在服务器上不显示,如何处理
    单行文本截断 text-overflow
    使用line-height垂直居中在安卓手机上效果不好
    css 苹方字体
    十二. for of 示例 (可以解决大多数应用场景)
    npm详解
    webpack搭建服务器,随时修改刷新
    探讨弹性布局Flexible Box
  • 原文地址:https://www.cnblogs.com/zhuhongzhous/p/10307352.html
Copyright © 2011-2022 走看看