车牌识别之分离字符

前言
在进行车牌识别时(传统方法),首先是截去车牌区域,分离每个字符串,再利用模式匹配进行匹配字符,得到结果。

分离字符思路
这里利用的是车牌的蓝色特性,在图片中,只有车牌这里蓝色色域最多(作为入门算法,排除蓝色车系),所以利用RGB三通道进行处理,得到只有蓝色色域的图像,然后再二值化,利用闭运算把车牌合成一块白色区域,背景全部处理掉(以黑色显示),然后获得白色区域的位置坐标,矩形的长宽等数据,利用这些数据,对原图进行截图,任何对所截的图像进行二值化等处理,利用同样的方法,获得每个字符串的位置坐标,利用循环分别显示截取图像,并显示出来。

代码

Image = imread ('car2.jpg') ;
Image = imresize (Image, [300 450]) ; %调整图像的大小为300*450gray = 2*Image (:, :, 3) - Image (:, :, 1) - Image (:, :, 2) ;
figure,imshow(gray),title('保留蓝色色域')l = graythresh (gray) ; %利用Ostu法获取图像的阈值
bw = im2bw (gray, l) ; %根据Ostu法分割车牌图像
figure,imshow(bw),title('二值化后的图像')bw1 = bwareaopen (bw, 500) ;%删除面积小于500的区域
figure,imshow (bw1) , title ('删除小面积区域后的图像') ;se = strel ('cube', 15) ;%创建一个边长为15的正方形
bw2 = imclose (bw1, se) ;%闭运算连使整个车牌区域连接在一起
figure,imshow(bw2),title('进行闭运算后的车牌');stats = regionprops (bw2, 'BoundingBox', 'Centroid') ; %获取车牌矩形区域, 即二值图中值为1的矩形框
bb = stats (1) .BoundingBox;%获取车牌矩形区域左上角坐标及矩形的长和宽, bb (1) 为矩形框左上角的y坐标, bb (2) 为矩形框左上角的x坐标
Img = Image (floor (bb (2) ) :floor (bb (2) +bb (4) ) ,floor (bb (1) ) :floor (bb (1) +bb (3) ) , :) ;
gray = Img (:, :, 2) ;%突出蓝色车牌的白色字体区域
figure,imshow (gray),title('切割图像 提取蓝色色域后')l = graythresh (gray) ; %利用Ostu法获取阈值
bw3 = im2bw (gray, l) ; %转换为二值图像
figure,imshow (bw3),title('转换为二值图像')se = strel ('line', 2, 90) ; %创建一个线条形状
bw4 = imclose (bw3, se) ;%闭运算, 连接各字符之间的缝隙
bw5 = imclearborder (bw4) ; %去除与边界相连的部分
bw6 = bwareaopen (bw5, 30) ; %删除面积小于50的区域
figure,imshow (bw6)stats = regionprops (bw6, 'BoundingBox', 'Centroid') ; %获取各个字的矩形区域坐标
figure,imshow (Img)for i = 1:length (stats)
bb = stats (i) .BoundingBox;
I = Img (floor (bb (2) ) :floor (bb (2) +bb (4) ) ,floor (bb (1) ) :floor (bb (1) +bb (3) ) , :) ;
str = ['第', num2str(i), '个字'];
figure,imshow (I) ;%展示每个字符
end

总结
该算法识别能力的确非常低,而且对原图像的要求很高,车辆颜色不能为蓝色、车牌必须正放在图像等要求。但是可以作为入门算法,了解车牌字符分离的简易算法。
实验图

结果图



MATLAB--数字图像处理 车牌识别之分离字符相关推荐

  1. 数字图像处理——车牌识别(matlab)

    本次大报告利用MATLAB函数功能,设计和实现了一个车牌识别系统.车牌识别系统的基本原理为:将手机拍摄到的包含车辆牌照的图像输入到计算机中进行预处理,再对牌照进行搜索.检测.定位,并分割出包含牌照字符 ...

  2. 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识

    本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...

  3. 精通Matlab数字图像处理与识别nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;

    文章目录 1. 数字图像处理与识别 1.1数字图像 1.2 数字图像处理与识别 1.3 数字图像处理的预备知识 1.4 基本的图像操作 2. MATLAB基础 2.1 常用命令 2.2 矩阵 2.3 ...

  4. MATLAB 数字图像处理---车牌简单识别【亲测有效】

    文章内容:利用 MATLAB 对图像进行简单处理,包括图像的模糊.锐化.和直方图均衡化:对图像进行边缘检测:并对利用 MATLAB 对图像中的数字提取识别. 目录 1 MATLAB 对图像进行简单处理 ...

  5. 数字图像处理--车牌识别

    Matlab提取车牌信息 分析: 1)当我们得到带有汽车车牌号信息的图片时,会发现,大面积的背景都是需要去除的,此时,想到顶帽操作. 顶帽操作的作用:去背景,使白色边界更清晰. 顶帽操作作用对象是灰度 ...

  6. matlab水果图片,matlab数字图像处理-----------------水果识别

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 又下了一个 %{ 如果图像中的目标物体是连在一起的,则分割起来会更困难,分水岭算法经常用于处理这类问题,通常会取得比较好的效果.分水岭分割算法把图像看成一 ...

  7. 《数字图像处理与机器视觉——Visual C++与Matlab实现》——0.2 数字图像处理与识别...

    本节书摘来自异步社区出版社<数字图像处理与机器视觉--Visual C++与Matlab实现>一书中的第0章,第0.2节,作者: 张铮 , 王艳平 , 薛桂香,更多章节内容可以访问云栖社区 ...

  8. 基于matlab的蓝色车牌识别(绪论)

    目录 绪论 一 车牌识别系统的工作原理详解 二 实现的内容 三 实现的依据 转载请注明出处,谢谢! 绪论 光阴荏苒,岁月如歌,三年的读研时间已过去了两年,马上就要面临找工作,是时候写点技术博客备着了. ...

  9. matlab车牌识别 复杂环境,基于MATLAB复杂背景车牌识别检测系统

    基于MATLAB复杂背景车牌识别检测系统 1.选题目的和意义 在复杂背景车牌识别检测系统中,由于拍摄时的光照条件.牌照的整洁程度的影响,和摄像机的焦距调整.镜头的光学畸变所产生的噪声都会不同程度地造成 ...

  10. MATLAB数字图像处理复习概览

    MATLAB数字图像处理 第1章 绪论 数字图像的概念 数字图像处理 第2章 数字图像处理基础 数字图像的生成与表示 数字图像的数值描述 第3章 图像基本运算 图像几何变换 几何变换基础 位置变换 几 ...

最新文章

  1. grep -v XXXXX
  2. 1.16 字符串的加密解密
  3. Zabbix 钉钉报警
  4. Linux 终端(TTY)
  5. 仿Drinkspiration App的menu
  6. yum安装软件出错解决方法
  7. 消息中间件→产生原因、JMS与AMQP、主流消息中间件、基本概念、ActiveMQ、集群、实际场景问题解决方案、集成rabbitMQ与kafka
  8. shiro 基于springmvc中做登陆功能
  9. 易筋SpringBoot 2.1 | 第三十篇:SpringBoot Reactor响应式编程介绍
  10. Android fastboot下载模式或reboot流程解析
  11. 3. (5.18~5.25)2022年自动化保研信息+分析汇总(夏令营)
  12. 自建dnspod解析服务器,利用DNSPOD配置智能解析双线服务器
  13. 20162327WJH第五周作业
  14. 字节跳动梁汝波:管理者过于依靠规则会使组织僵化 |王兴:反垄断无损美团竞争优势...
  15. TCP连接的建立与终止
  16. 计算机网络五层体系结构各层协议
  17. 基于JAVA的志愿者管理系统(最新)
  18. 安装Windows10系统---制作U盘启动盘的方式安装
  19. 计算机毕业设计怎么做
  20. 大量土壤代谢物分类试试HMDB数据库-R语言爬虫HMDB数据库

热门文章

  1. ST-LINKV2仿真器接线、配置、仿真方法
  2. 国际上炒黄金平台有哪些
  3. 【Git/Bugfix系列】fatal: in unpopulated submodule的分析和解决方案
  4. 医用计算机是什么意思,pc是什么意思(全网最全解读pc寓意)
  5. 对Android初学者学习中的几点建议
  6. h0004.双倍 (10 分)
  7. shell脚本中执行ssh
  8. php molten,当molten遇到机器学习
  9. html单标签和双标签汇总
  10. Android studio突然报错Entry name ‘META-INF/androidx.vectordrawable_vectordrawable.version‘ collided的解决办法