首页 > 其他分享 >基于米尔NXP i.MX93开发板OpenCV的相机捕捉视频进行人脸检测

基于米尔NXP i.MX93开发板OpenCV的相机捕捉视频进行人脸检测

时间:2024-11-15 17:40:47浏览次数:1  
标签:NXP opencv 检测 cv2 开发板 OpenCV 人脸 cv

本篇测评由优秀测评者“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

 

经测试,只能支持640*480

为此建立opencv_test.py

import cv2
video = 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

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

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

OpenCV人脸检测方法

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

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

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

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

【编写检测代码】

import numpy as np
import 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)  # <class 'cv2.CascadeClassifier'>
    # 使用级联分类器检测人脸
    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()

 

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

 

标签:NXP,opencv,检测,cv2,开发板,OpenCV,人脸,cv
From: https://www.cnblogs.com/cbd7788/p/18548398

相关文章

  • OpenCV官方提纲
    IntroductiontoOpenCV –buildandinstallOpenCVonyourcomputerOpenCVinstallationoverviewOpenCVconfigurationoptionsreferenceOpenCVenvironmentvariablesreferenceLinuxInstallationinLinuxUsingOpenCVwithgdb-poweredIDEsUsingOpenCVwith......
  • 迅为RK3588开发板Android12动态替换开机logo
    性能强iTOP-3588开发板采用瑞芯微RK3588处理器,是全新一代AloT高端应用芯片,采用8nmLP制程,搭载八核64位CPU,四核Cortex-A76和四核Cortex-A55架构,主频高达2.4GHz。 四核心架构GPU集成MaliG610MP4四核GPU、支持OpenGLES1.1、2.0、3.2,OpenCL2.2和Vulkan1.2。带有MMU的特殊2D硬......
  • Python从0到100(七十二):Python OpenCV-OpenCV实现手势音量控制(文末送书)
    前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知......
  • C++之OpenCV入门到提高005:005 图像操作
    一、介绍今天是这个系列《C++之Opencv入门到提高》得第五篇文章。这篇文章也不难,介绍如何图像的基本操作,比如:读取一张图片的像素值,如何修改一张图片中的像素值,如何读取一张图片,如何保存一张图片等等,这都是基础,为以后的学习做好铺垫。虽然操作很简单,但是背后有很多东西需......
  • Dosbox-x安装WinXP——图文教程
    一、前言很多老游戏只能在win95、98或者XP中运行,因此,很多人尝试将Win95、98安装到Dosbox中,利用Dosbox来玩那些久远的情怀。有Win98自然就有人想在Dosbox中安装更高级的Win系统,于是就有人尝试在Dosnox中安装Win2000、WinXP的,其中2023-07-03在国外的fabulous.systems出现了一篇利用......
  • opencv的RGB 颜色表
    转载:https://blog.csdn.net/Vertira/article/details/122477160RGB(255,23,140)是光的三原色,也即是红绿蓝Red,Green,Blue,它们的最大值是255,相当于100%。白色:rgb(255,255,255)黑色:rgb(0,0,0)红色:rgb(255,0,0)绿色:rgb(0,255,0)蓝色:rgb(0,0,255)青色:rgb(0,255,255)紫色:rgb(255,0,......
  • 使用 Python 和 OpenCV 实现摄像头人脸检测并截图
    概述在现代应用中,人脸检测是一项非常重要的技术,广泛应用于安全监控、身份验证等领域。本文将详细介绍如何使用Python和OpenCV库实现摄像头人脸检测并截图,并通过具体的代码示例来展示整个过程。环境准备在开始编写代码之前,确保已经安装了OpenCV库。可以使用以下命令......
  • 基于 OpenCV 的图像融合
    概述图像融合是一种常见的图像处理技术,通过将两张或多张图像按一定比例混合,生成一张新的图像。本文将介绍如何使用OpenCV实现图像融合,具体包括读取图像、调整图像大小、图像融合以及保存和显示结果图像。我们将通过一个具体的示例来展示这一过程。准备工作在开始之前,确......
  • OpenCV补充
    图像的基本表示方法1.二值图像二值图像是指仅包含黑色和白色两种颜色的图像 2.1灰色图像灰度图像有256个灰度级,用数值区间[0,255]来表示,其中255表示为纯白色,0表示为纯黑色256个灰度级的数值恰好可以用一个字节(8位二进制值)来表示   由于OpenCV没有二值图像这种......
  • 项目实战:Qt+OpenCV透视变换工具v1.1.0(支持打开图片、输出棋盘角点、调整偏移点、导出
    需求  1.打开图片;  2.矫正识别角点;  3.四点对应偏移距离;  4.支持设置棋盘格的行列角点数;  5.导出结果图片; 背景  深入研究图像拼接细分支算法,产出的效果查看工具,验证算法单步思路。 相关博客  《项目实战:Qt+OpenCV透视变换工具v1.1.0(支持打开图......