【图像识别】基于模板匹配算法求解车牌识别问题matlab代码含GUI界面
1 简介
随着经济社会的迅速发展,人民对生活水平的要求也不断提高,从而引起汽车的数量的增加.给出行带来便捷的同时,车辆的管理问题也日益显著.车牌识别系统是指能将监控中运动的车辆的汽车牌照信息从复杂背景中提取并识别的技术,主要包括图像提取,图像预处理,字符识别,车牌定位,字符分割五个主要核心部分.由于计算机技术的飞速发展和信息处理水平的逐渐成熟,先进的计算机技术可以将人力从复杂的人工观察检测中解放出来并提高精确度,智能交通系统成为交通领域研究的重要课题.在这样的背景下车牌识别成为了现代智能交通系统的重要部分之一,车牌识别系统使车辆的管理更加智能化,有效的提升了交通管理的效率.车牌识别系统对于维护交通安全和城市治安,防止交通堵塞,提高人们出行质量,实现现代化交通管理和智能化具有重要的现实意义.
2 部分代码
function words = Main_Process(bw, filename)% if nargin < 2 flag_display = 1; % end [m, n] = size(bw); k1 = 1; k2 = 1; s = sum(bw); j = 1; while j ~= nwhile s(j) == 0 && j <= n-1j = j + 1;endk1 = j-1;while s(j) ~= 0 && j <= n-1j = j + 1;endk2 = j-1;Tol = round(n/6.5);if k2-k1 > Tol[val, num] = min(sum(bw(:, [k1+5:k2-5])));bw(:, k1+num+5)=0;end endbw = Segmation(bw); [m, n] = size(bw); wideTol = round(n/20); rateTol = 0.25; flag = 0; word1 = []; while flag == 0[m, n] = size(bw);left = 1;wide = 0;while sum(bw(:,wide+1)) ~= 0wide = wide+1;endif wide < wideTolbw(:, 1:wide) = 0;bw = Segmation(bw);elsetemp = Segmation(imcrop(bw, [1 1 wide m]));[m, n] = size(temp);tall = sum(temp(:));two_thirds = sum(sum( temp(round(m/3):2*round(m/3), :) ));rate = two_thirds/tall;if rate > rateTolflag = 1;word1 = temp;endbw(:, 1:wide) = 0;bw = Segmation(bw);end end [word2, bw] = Word_Segmation(bw); [word3, bw] = Word_Segmation(bw); [word4, bw] = Word_Segmation(bw); [word5, bw] = Word_Segmation(bw); [word6, bw] = Word_Segmation(bw); [word7, bw] = Word_Segmation(bw); wid = [size(word1, 2) size(word2, 2) size(word3, 2) ...size(word4, 2) size(word5, 2) size(word6, 2) size(word7, 2)]; [maxwid, indmax] = max(wid); maxwid = maxwid + 10; wordi = word1; wordi = [zeros(size(wordi, 1), round((maxwid-size(word1, 2))/2)) wordi zeros(size(wordi, 1), round((maxwid-size(word1, 2))/2))]; word1 = wordi;wordi = word2; wordi = [zeros(size(wordi, 1), round((maxwid-size(word2, 2))/2)) wordi zeros(size(wordi, 1), round((maxwid-size(word2, 2))/2))]; word2 = wordi;wordi = word3; wordi = [zeros(size(wordi, 1), round((maxwid-size(word3, 2))/2)) wordi zeros(size(wordi, 1), round((maxwid-size(word3, 2))/2))]; word3 = wordi;wordi = word4; wordi = [zeros(size(wordi, 1), round((maxwid-size(word4, 2))/2)) wordi zeros(size(wordi, 1), round((maxwid-size(word4, 2))/2))]; word4 = wordi;wordi = word5; wordi = [zeros(size(wordi, 1), round((maxwid-size(word5, 2))/2)) wordi zeros(size(wordi, 1), round((maxwid-size(word5, 2))/2))]; word5 = wordi;wordi = word6; wordi = [zeros(size(wordi, 1), round((maxwid-size(word6, 2))/2)) wordi zeros(size(wordi, 1), round((maxwid-size(word6, 2))/2))]; word6 = wordi;wordi = word7; wordi = [zeros(size(wordi, 1), round((maxwid-size(word7, 2))/2)) wordi zeros(size(wordi, 1), round((maxwid-size(word7, 2))/2))]; word7 = wordi;word11 = imresize(word1, [40 20]); word21 = imresize(word2, [40 20]); word31 = imresize(word3, [40 20]); word41 = imresize(word4, [40 20]); word51 = imresize(word5, [40 20]); word61 = imresize(word6, [40 20]); word71 = imresize(word7, [40 20]);words.word1 = word11; words.word2 = word21; words.word3 = word31; words.word4 = word41; words.word5 = word51; words.word6 = word61; words.word7 = word71;if flag_displayfigure(2);subplot(2, 7, 1); imshow(word1); title('字符1', 'FontWeight', 'Bold');subplot(2, 7, 2); imshow(word2); title('字符2', 'FontWeight', 'Bold');subplot(2, 7, 3); imshow(word3); title('字符3', 'FontWeight', 'Bold');subplot(2, 7, 4); imshow(word4); title('字符4', 'FontWeight', 'Bold');subplot(2, 7, 5); imshow(word5); title('字符5', 'FontWeight', 'Bold');subplot(2, 7, 6); imshow(word6); title('字符6', 'FontWeight', 'Bold');subplot(2, 7, 7); imshow(word7); title('字符7', 'FontWeight', 'Bold');if strcmp(filename,'car4.jpg')subplot(2, 7, 8); imshow(word11); title('字符1', 'FontWeight', 'Bold');imwrite(word11,'./2/冀.bmp')subplot(2, 7, 9); imshow(word21); title('字符2', 'FontWeight', 'Bold');imwrite(word21,'./2/A.bmp')subplot(2, 7, 10); imshow(word31); title('字符3', 'FontWeight', 'Bold');imwrite(word31,'./2/7.bmp')subplot(2, 7, 11); imshow(word41); title('字符4', 'FontWeight', 'Bold');imwrite(word41,'./2/0.bmp')subplot(2, 7, 12); imshow(word51); title('字符5', 'FontWeight', 'Bold');imwrite(word51,'./2/3.bmp')subplot(2, 7, 13); imshow(word61); title('字符6', 'FontWeight', 'Bold');imwrite(word61,'./2/N.bmp')subplot(2, 7, 14); imshow(word71); title('字符7', 'FontWeight', 'Bold');imwrite(word71,'./2/2.bmp')else strcmp(filename,'car5.jpg')subplot(2, 7, 8); imshow(word11); title('字符1', 'FontWeight', 'Bold');imwrite(word11,'./3/云.bmp')subplot(2, 7, 9); imshow(word21); title('字符2', 'FontWeight', 'Bold');imwrite(word21,'./3/A.bmp')subplot(2, 7, 10); imshow(word31); title('字符3', 'FontWeight', 'Bold');imwrite(word31,'./3/5.bmp')subplot(2, 7, 11); imshow(word41); title('字符4', 'FontWeight', 'Bold');imwrite(word41,'./3/2.bmp')subplot(2, 7, 12); imshow(word51); title('字符5', 'FontWeight', 'Bold');imwrite(word51,'./3/6.bmp')subplot(2, 7, 13); imshow(word61); title('字符6', 'FontWeight', 'Bold');imwrite(word61,'./3/E.bmp')subplot(2, 7, 14); imshow(word71); title('字符7', 'FontWeight', 'Bold');imwrite(word71,'./3/G.bmp')end end
3 仿真结果
4 参考文献
[1]龚凯丽, and 崔馨月. "基于改进模板匹配对车牌识别问题的研究." 工程技术与发展 1.5:2.
【图像识别】基于模板匹配算法求解车牌识别问题matlab代码含GUI界面相关推荐
- 【图像识别】基于模板匹配算法求解车牌识别问题matlab代码
1 简介 随着经济社会的迅速发展,人民对生活水平的要求也不断提高,从而引起汽车的数量的增加.给出行带来便捷的同时,车辆的管理问题也日益显著.车牌识别系统是指能将监控中运动的车辆的汽车牌照信息从复杂背景 ...
- 【车牌识别】基于模板匹配算法的车牌识别门禁系统附matlab代码
1 简介 随着社会的进步,汽车数量日益增加,城市交通状况越来越受到人们的重视,如何进行有效的交通管理成为目前亟待解决的问题.针对此问题,人们相继研制出了各种交通道路监管系统,各种各样的车牌识别系统也应 ...
- 【车牌识别】基于模板匹配实现车牌识别含Matlab源码
1 简介 车牌识别系统是计算机视觉与模式识别技术在智能交通里的重要研究课题之一.其功能是将运动中的汽车牌照从复杂背景中提取出来,并识别出车牌号码.车牌识别技术广泛应用于高速公路上的电子收费,日常的停车 ...
- 【人脸识别】基于模板匹配实现人脸识别附matlab代码和GUI界面
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 基于模板匹配的车牌识别算法,输出数字和英文字母
目录 一.理论基础 二.核心程序 三.仿真结论 一.理论基础 车牌识别是计算机视觉领域中的一个重要问题,其目的是从图像中自动识别出车辆的车牌信息.基于模板匹配的车牌识别算法是一种常见的方法,其基本思想 ...
- 基于模板匹配的车牌识别系统实例
这几天其实是准备做课题的,无奈车牌识别系统(界面是VS2017+Qt5.9.2做的)一直没有做完,所以一直在修正这个系统,前三天其实已经完成了,最后一天是改进识别方案,虽然个别字符识别不准确(尤其是汉 ...
- 【图像识别】基于卷积神经网络实现手写汉字识别附matlab代码
1 内容介绍 1.1. 数据集的获取 数据集的获取来自模式识别国家重点实验室共享,这个不解释直接上网址http://www.nlpr.ia.ac.cn/databases/download/featu ...
- 【路径优化】基于帝企鹅算法求解TSP问题(Matlab代码实现)
目录 1 帝企鹅算法 2 旅行商问题(TSP) 3 运行结果 4 参考文献 5 Matlab代码实现 1 帝企鹅算法 帝企鹅优化算法(emperor penguin optimizer,EPO)是Ga ...
- 【优化求解】基于蝗虫算法求解单目标问题matlab代码
1 简介 蝗虫算法( Grasshopper Optimization Algorithm,GOA ) 是 由 Saremi 等[1]于2017 年提出的一种元启发式仿生优化算法.具体原理如下: 2 ...
最新文章
- Ubuntu 16.04 LTS 下安装PyCharm
- 编程控制Word文档中Table的赋值
- cad记忆口诀_CAD制图口诀你值得拥有!
- 鸿蒙系统没有优势了吗,“鸿蒙系统”超震撼,带你细数它的优势
- 单片机检测stc没反应_我为什么不用STC单片机
- 2015阿里秋招当中一个算法题(经典)
- final、finalize、finally异同,以及final关键字如何使用
- 【第一期】电商分布式前沿springboot接口服务之配置-Array-专题视频课程
- Ubuntu配置maven环境变量
- 计算机毕业设计android的消防安全知识宣传app(源码+系统+mysql数据库+Lw文档)
- 调试经验——让Oracle的中文提示修改为英文提示
- 面试题(Android 基础部分)
- 帝国Cms列表页和内容页调用栏目名称与链接标签的说明(列表与标签模板)
- 微软账户 设置 服务器,微软账号玩不了正版服务器?甚至连多人游戏都打不开?教你如何设置!...
- python实现模拟按键down_Python模拟keydown
- Spring面试题及答案
- 一文足矣——计算机视觉七十年历程+11份精悍源码放送
- 通达信l2数据接口获取什么信息?
- 智慧交通完整解决方案
- Android开发笔记(一百七十四)图像解码器ImageDecoder