【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

2021-04-21 12:50:17      索炜达电子      1294     

文件编号:B371

文件大小:9M

开发环境:Matlab2018

猿创承诺:该项目亲测正常运行,需远程调试部署需另外收费,确保正常使用,不能正常使用全额退款。

简要概述:基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

一、 系统功能描述

本模拟停车位管理系统的功能是:系统对进入停车位的车辆进行车牌识别,将识别出来的车牌号显示出来;然后对车主进行人脸识别,框出车主照片的人脸部分作为车主信息的标记,记录在系统库中。车辆在库期间,系统使用者可以随意查看车辆与车主信息的获取过程及获取结果。而当车辆离开时,系统库将清除该车辆与车主的所有信息。

二、 系统功能实现原理及代码

(一)原理

本系统主要使用到的算法有车牌识别和人脸识别两部分。

 【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

图2-1  实现原理图

(二)主要功能代码

①选择文件夹里的图片导入系统:

[filename pathname]=uigetfile({'*.jpg';'*.png';'*.bmp'}, '正在拍摄入场的车辆~');

I=imread([pathname '\' filename]);  %读取原图

handles.I=I;  %把原图存储在句柄

guidata(hObject, handles);  %刷新

②图像灰度化:

I1=rgb2gray(I);

③图像边缘检测:

I2=edge(I1,'roberts',0.18,'both');

④图像腐蚀/图像膨胀:

se=eye(2);  %单位矩阵

[m,n]=size(d);  %返回信息矩阵

if bwarea(d)/m/n>=0.365  %计算二值图像中对象的总面积与整个面积的比是否大于0.365

    d=imerode(d,se);  %如果大于0.365则进行腐蚀

elseif bwarea(d)/m/n<=0.235  %计算二值图像中对象的总面积与整个面积的比值是否小于0.235

    d=imdilate(d,se);  %如果小于则实现膨胀操作

end

⑤车牌定位(由于此处代码篇幅较长,故仅截取一部分):

%Y方向的车牌区域确定

%temp为向量yellow_y的元素中的最大值,MaxY为该值得索引

PY1=MaxY;

while((Blue_y(PY1,1)>=5)&&(PY1>1))

    PY1=PY1-1;

end

%……(略去中间大同小异的部分)

PX1=PX1-1;  %对车牌区域的矫正

PX2=PX2+1;

dw=I(PY1:PY2-8,PX1:PX2,:);

⑥图像二值化:

g_max=double(max(max(b)));

g_min=double(min(min(b)));

T=round(g_max-(g_max-g_min)/3);  %T为二值化的阈值

[m,n]=size(b);

d=(double(b)>=T);  %二值图像

⑦均值滤波:

h=fspecial('average',3);  %建立预定义的滤波算子,average为均值滤波,模板尺寸为3*3

d=im2bw(round(filter2(h,d)));  %使用指定的滤波器进行均值滤波

⑧图像灰度化直方图:

imhist(pic_show);

⑨车主照标记:

[L, num] = bwlabel(BW, 8);  %区域标记

stats = regionprops(L, 'BoundingBox');  %得到包围矩形框

Bd = cat(1, stats.BoundingBox);

[s1, s2] = size(Bd);

mx = 0;

for k = 1:s1

    p = Bd(k, 3)*Bd(k, 4);  %宽*高

    if p>mx && (Bd(k, 3)/Bd(k, 4))<1.8  %如果满足面积块大,而且宽/高<1.8

        mx = p;

        j = k;

    end

end

axes(handles.axes10);imshow(Img);%hold on;

rectangle('Position', Bd(j, :), ...

    'EdgeColor', 'w', 'LineWidth', 1);  %框出车主人脸部分

按需写作:

【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

演示视频:

【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

点击查看:系统演示视频

运行效果:

运行结果与分析

(一)开始界面

①运行程序时弹出欢迎图片,持续时间为3秒。 【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

图3-1-1  启动时的欢迎图片

②待机情况下仅显示如图的组件。

【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位) 图3-1-2  UI界面

(二)车牌识别

①点击“停车”按钮,选择车辆。

 【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

 图3-2-1  选择停放的车辆

②车牌成功识别并记录,“停车”按钮转为“取车”按钮,出现下拉框。 【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

图3-2-2  车牌成功识别并记录

③下拉框内容如图3-2-3所示。

【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位) 图3-2-3  下拉框内容

④篇幅所限,这里仅选择边缘检测查看效果,如图3-2-4所示。

【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位) 

图3-2-4  边缘检测

(三)人脸识别

①点击“车主”按钮,选择车主照片。

【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位) 

图3-3-1  车主选择

②车主成功识别并以方框标出。

【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位) 图3-3-2  车主识别

③移动滑块,可查看车主照片识别过程,如图3-3-3 ~ 图3-3-6所示。

  【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

(四)取车 & 退出系统

①点击“取车”按钮,车主及车辆的所有记录信息被销毁,下拉框隐藏,“取车”按钮转为“停车”。

 【B371】基于Matlab模拟停车位管理系统(车牌识别+人脸定位)

图3-4-1  取车

②点击“退出”按钮,关闭程序。

远程协助:

温馨提示:索炜达.猿创官方提供收费远程协助,确保您项目运行成功。

点击查看:远程协助相关事项

我们提供完整项目文件清单如下:

文件目录

 ├ 1.项目源码

 ├ 2.运行截图

 └ 3.演示视频

TAG人脸定位
  • 6 次
  • 600 分