Matlab人脸检测算法详解 您所在的位置:网站首页 合照人脸识别 Matlab人脸检测算法详解

Matlab人脸检测算法详解

2024-07-11 10:24| 来源: 网络整理| 查看: 265

这是一个Matlab人脸检测算法详解 前言人脸检测结果算法详解源代码解析所调用函数解析bwlabel(BW,n)regionpropsrectangle 总结

前言

目前主流的人脸检测与人脸识别算法主要基于人工神经网络进行训练与检测,本文基于数字图像处理解析一个非人工神经网络的有趣人脸检测算法。图片与源码可以从下文获取或点击这里获取:积分下载材料点这里,百度云下载材料点这里,提取码2333(可以的话积分下载支持一下呀)

人脸检测结果

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

算法详解

该算法主要通过识别二值图像下的最大连通区域来检测人脸,定义二值图像中宽长比小于1.8的最大连通区域(mx)为人脸区域。再将P的左上角坐标作为识别框的左上角坐标,以mx在X轴的延伸长度作为识别框在X与Y的延伸长度,从而绘制出一个黄色2像素宽度的正方形识别框。框中的区域即为该算法所识别的人脸区域。

源代码解析 clear all %清除工作台中所有参数与数据 clc %清除界面 i=imread('5.jpg'); %读取所需预测的图像 I=rgb2gray(i); %将该图像转换为灰度图 BW=im2bw(I); %将灰度图像转换为二值图像 figure(1); imshow(BW); %将背景最小化处理 [n1, n2]=size(BW); r=floor(n1/10); c=floor(n2/10); x1=1;x2=r; s=r*c; for i=1:10 y1=1;y2=c; for j=1:10 if(y2=9*c) || (x1==1 || x2==r*10) loc=find(BW(x1:x2,y1:y2)==0); [o,p]=size(loc); pr=o*100/s; if prmx && (BB2(1,k+1)/BB2(1,k))


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有