分享

Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别

 处女座的程序猿 2021-09-28

Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别


相关文章
Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别
Matlab:基于Matlab通过GUI实现自动驾驶的车牌智能识别——底层代码设计思路

车牌图像数据集

哈哈,进行本案例之前,先看看我的车库,苦笑?  苦笑?哈哈,看看就行……

视频动态演示

视频观看请点击:基于Matlab通过GUI实现自动驾驶的车牌智能识别

核心代码

通过Matlab的编程代码进一步了解系统的工作思路和原理。
(1)“请打开要识别的图片”按钮下调用的部分代码
[fn,pn,fi]=uigetfile('*.jpg','选择图片'); %交互式获得指定输入图片

I=imread([pn fn]);
axes(handles.axes1);%指定显示在句柄handles.axes1上
imshow(I);
(2)“截取车照片”按钮下调用的部分代码
global var01   %定义全局变量
global var02      %定义全局变量
var02=var01;
axes(handles.axes2); %指定显示在句柄handles.axes2上
imshow(var02);
(3)“方向矫正”按钮调用的部分代码
global var02            %定义全局变量
global qingxiejiao %定义全局变量
qingxiejiao=bianhuan(var02) %通过自定义bianhuan函数获取倾斜角度
var02=imrotate(var02,qingxiejiao,'bilinear','crop'); %imrotate函数是按照获取的角度进行矫正
axes(handles.axes4);
imshow(var02);
(4)“基于阈值转为二值图”按钮调用的部分代码
global var02             %定义全局变量
var02=im2var02(var02,graythresh(var02));%im2var02函数基于阈值,将图像转变成二进制图像;graythresh函数使用最大类间方差法找到图片的一个合适的阈值。利用这个阈值通常比人为设定的阈值能更好地把一张灰度图像转换为二值图像。
axes(handles.axes5); %指定显示在句柄handles.axes5上
imshow(var02); 
var02=var02morph(var02,'hbreak',inf);%figure,imshow(var02); %对二值图像的形态学操作(hbreak移除H连通的像素),提取二进制图像的轮廓
var02=var02morph(var02,'spur',inf);%figure,imshow(var02);title('擦除之前'); %spur移除刺激(孤立)像素
var02=var02morph(var02,'open',5);%figure,imshow(var02);title('闭合运算');%open执行形态学开操作(先腐蚀后膨胀)
global threshold          %定义全局变量
var02 = var02areaopen(var02, threshold);%figure,imshow(var02);title('擦除'); %var02areaopen删除二值图像var02中面积小于P的对象,默认情况下conn使用8邻域

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多