全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

基于OPENCV的相机捕捉视频进行人脸检测--米尔NX

时间:2024-11-07 09:03

人气:

作者:admin

导读:本文将介绍基于米尔电子MYD-LMX93开发板(米尔基于NXPi.MX93开发板)的基于OpenCV的人脸检测方案测试。OpenCV提供了一个非常简单的接口,用于相机捕捉一个视频(我用的电脑内置摄像头)1、...

本篇测评由与非网的优秀测评者“eefocus_3914144”提供。

本文将介绍基于米尔电子MYD-LMX93开发板(米尔基于NXP i.MX93开发板)的基于OpenCV的人脸检测方案测试。

OpenCV提供了一个非常简单的接口,用于相机捕捉一个视频(我用的电脑内置摄像头)
1、安装python3-opencv

apt install python3-opencv


2、查看摄像头支持的格式与分辨率

root@debian:~# v4l2-ctl --device=/dev/video0 --list-formats-ext

26aec402-9ca4-11ef-8084-92fbcf53809c.png

经测试,只能支持640*480

为此建立opencv_test.py

import cv2video = cv2.VideoCapture(0)

设置相机参数

video .set(cv2.CAP_PROP_FRAME_WIDTH, 1280)

video .set(cv2.CAP_PROP_FRAME_HEIGHT, 720)

while True: ret, frame = video.read() cv2.imshow("A video", frame)c = cv2.waitKey(1)if c == 27: breakvideo.release()cv2.destroyAllWindows()

保存后执行”python3 opencv_test.py

26b57072-9ca4-11ef-8084-92fbcf53809c.png

OpenCV装好后,可以为后面的人脸检测提供可行性。

要实现人脸识别功能,首先要进行人脸检测,判断出图片中人脸的位置,才能进行下一步的操作。

OpenCV人脸检测方法

在OpenCV中主要使用了两种特征(即两种方法)进行人脸检测,Haar特征和LBP特征。用得最多的是Haar特征人脸检测,此外OpenCV中还集成了深度学习方法来实现人脸检测。

【参考资料】
使用OpenCV工具包成功实现人脸检测与人脸识别,包括传统视觉和深度学习方法(附完整代码,模型下载......)_opencv人脸识别-CSDN博客

Haar级联检测器预训练模型下载】
opencv/opencv: Open Source Computer Vision Library (github.com)
下载好的,在opencv-4.x\data\haarcascades文件夹下有模型,把他上传到开发板。

26d0573e-9ca4-11ef-8084-92fbcf53809c.png

【获取检测人脸的图片】
我在百度上找到了**的图片,并把它也上传到开发板。

【编写检测代码】

import numpy as npimport cv2 as cv
if __name__ == '__main__': # (6) 使用 Haar 级联分类器 预训练模型 检测人脸 # 读取待检测的图片 img = cv.imread("yanmi.jpg") print(img.shape)
# 加载 Haar 级联分类器 预训练模型 model_path = "haarcascade_frontalface_alt2.xml" face_detector = cv.CascadeClassifier(model_path) # # 使用级联分类器检测人脸 faces = face_detector.detectMultiScale(img, scaleFactor=1.1, minNeighbors=1, minSize=(30, 30), maxSize=(300, 300)) print(faces.shape) # (17, 4) print(faces[0]) # (x, y, width, height)
# 绘制人脸检测框 for x, y, width, height in faces: cv.rectangle(img, (x, y), (x + width, y + height), (0, 0, 255), 2, cv.LINE_8, 0) # 显示图片 cv.imshow("faces", img) cv.waitKey(0) cv.destroyAllWindows()

【实验效果】
运行程序后,可以正确地识别,效果如下:

26f4739e-9ca4-11ef-8084-92fbcf53809c.png

2723928c-9ca4-11ef-8084-92fbcf53809c.png

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信