以下是代码展示部分,但代码实现仅仅只从颜色这一个角度进行,原本我想做一个颜色头盔检测计数系统的。如果是想要实现是否佩戴头盔的检测,可以只从形状检测这一角度进行思考即可
function detectHelmetWithUI()
% 创建一个图形窗口
fig = uifigure('Name', 'Helmet Detection');
% 创建一个按钮用于选择图像文件
btn = uibutton(fig, 'push', 'Text', '选择图像', 'Position', [10 10 100 22], 'ButtonPushedFcn', @(btn,event)selectImage());
function selectImage()
% 显示文件选择对话框
[file, path] = uigetfile({'*.jpg;*.png;*.bmp', '图像文件 (*.jpg, *.png, *.bmp)'}, '选择图像文件');
% 如果用户取消选择,则返回
if isequal(file, 0)
return;
end
% 读取选定的图像文件
imagePath = fullfile(path, file);
% 调用检测头盔的函数
detectHelmet(imagePath);
end
function histValues = myImhist(grayImg)
% 获取图像的尺寸
[height, width] = size(grayImg);
% 初始化直方图
histValues