✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
⛄ 内容介绍
在我国,随着人们生活水平的提高,汽车保有量迅速增加,交通事故的发生也越来越频繁,给社会造成了极大的危害。疲劳驾驶是引发交通事故的主要原因之一,实时监测驾驶员的疲劳状态并适时发出警告是减少此类事故发生的有效手段。由此可见研究并实现疲劳检测相关算法,有着重大的现实意义。在分析研究了国内外疲劳检测技术现状的基础上,依据现实情景,本文提出了驾驶员疲劳检测的总体设计方案并进行了仿真实现。在定位阶段,主要应用Adaboost级联分类器进行检测,首先检测人脸,然后在人脸范围内检测人眼,这样减少了搜索的范围,提高了人眼检测的速度。
⛄ 部分代码
function [Irect, rect] = GetValideImage(Img, flag)
% 获取有效图像区域
if nargin < 2
flag = 1;
end
% 灰度化
if ndims(Img) == 3
I = rgb2gray(Img);
else
I = Img;
end
% 去除视频黑边,定位有效图像区域
tol = 1000;
sz = size(I);
cs = sum(I, 1);
c = find(cs > tol);
cmin = min(c);
cmax = max(c);
rect = [cmin 1 cmax-cmin sz(1)];
% 图像切割,获取有效区域图像
Irect = imcrop(Img, rect);
% 显示中间处理过程图像
%if flag
figure(1);
subplot(2, 2, 1); imshow(Img, []); title('原图像');
subplot(2, 2, 2); imshow(I, []); title('灰度图像');
subplot(2, 2, 3); imshow(Img, []); title('有效区域图像标记');
hold on;
rectangle('Position', rect, 'EdgeColor', 'r', 'LineWidth', 2);
hold off;
subplot(2, 2, 4); imshow(Irect, []); title('有效区域图像');
%end
⛄ 运行结果
⛄ 参考文献
[1] 冯丽. 基于人脸识别的疲劳检测系统的软件实现[J]. 软件产业与工程, 2012(2):4.
[2] 龚景超. 基于数字图像处理技术的驾驶员疲劳检测的研究与实现[D]. 东北大学, 2014.
[3] 岳翼. 基于图像识别的模拟驾驶疲劳检测系统设计及实现[J]. 电子世界, 2016(22):2.
[4] 胡越, 郭延齐, 程文华. 基于Matlab的人眼疲劳度检测[J]. 信息技术, 2009(8):4.