当前位置: 首页 > news >正文

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

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

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

相关文章:

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

本篇测评由优秀测评者“eefocus_3914144”提供。 本文将介绍基于米尔电子MYD-LMX93开发板&#xff08;米尔基于NXP i.MX93开发板&#xff09;的基于OpenCV的人脸检测方案测试。 OpenCV提供了一个非常简单的接口&#xff0c;用于相机捕捉一个视频(我用的电脑内置摄像头) 1、安…...

【Node-Red】使用文件或相机拍摄实现图像识别

使用相机拍照实现图像识别 首先需要下载节点 node-red-contrib-tfjs-coco-ssd&#xff0c;下载不上的朋友可以根据【Node-Red】最新版coco-ssd 1.0.6安装方法&#xff08;windows&#xff09;文章进行安装。 1、智能识别图片 使用本地文件的形式对图像进行识别 时间戳&…...

【Arcpy】提示需要深度学习框架代码

try:import torchimport arcgis相关库HAS_DEPS True except:HAS_DEPS Falsedef _raise_conda_import_error():arcpy.AddIDMessage("ERROR", 260005)exit(260005)if not HAS_DEPS:_raise_conda_import_error()...

【蓝桥杯 2021 省 B2】特殊年份

题目描述&#xff1a; 今年是 2021 年&#xff0c;2021 这个数字非常特殊, 它的千位和十位相等, 个位比百位大 1&#xff0c;我们称满足这样条件的年份为特殊年份。 输入 5 个年份&#xff0c;请计算这里面有多少个特殊年份。 输入格式 输入 5 行&#xff0c;每行一个 4 位十…...

【云原生开发】namespace管理的后端开发设计与实现

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…...

威联通Docker Compose搭建NAS媒体库资源工具NAS Tools

文章目录 一、环境配置1-1 需要的配件1-2 环境安装及配置注意:获取PUID/PGID1-3 目录位置准备总结,这里我们要做5件事备注:Docker无法下载解决办法二、登录配件,进行配件连接和配置2-1 jackett设置2-2 qBittorrent设置!!!设置文件下载地址2-3 jellyfin设置2-4 NASTools设…...

【JAVA基础】MAVEN的安装及idea的引用说明

本篇文章主要讲解&#xff0c;maven的安装及集成在idea中进行构建项目的详细操作教程。 日期&#xff1a;2024年11月11日 作者&#xff1a;任聪聪 所需材料&#xff1a; 1、idea 2024版本及以上 2、maven 3.9.9安装包 3、一个空java springBoot项目&#xff0c;可以使用阿里云…...

【go从零单排】Rate Limiting限流

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 在 Go 中&#xff0c;速率限制&#xff08;Rate Limiting&#xff09;是一种控制…...

解析Eureka的架构

1. 引言 1.1 Eureka的定义与背景 Eureka是由Netflix开发的一个RESTful服务&#xff0c;用于服务发现。它是微服务架构中的一个核心组件&#xff0c;主要用于管理服务的注册和发现。Eureka允许服务提供者注册自己的服务信息&#xff0c;同时也允许服务消费者查询可用的服务&am…...

AI变现,做数字游民

在数字化时代&#xff0c;AI技术的迅猛发展不仅改变了各行各业的生产方式&#xff0c;还为普通人提供了前所未有的变现机会。本文将探讨如何利用AI技术实现变现&#xff0c;成为一名数字游民&#xff0c;享受自由职业带来的便利与乐趣。 一、AI技术的变现潜力 AI技术以其强大…...

linux-vlan

# VLAN # 1.topo # 2.创建命名空间 ip netns add ns1 ip netns add ns2 ip netns add ns3 # 3.创建veth设备 ip link add ns1-veth0 type veth peer name ns21-veth0 ip link add ns3-veth0 type veth peer name ns23-veth0 # 4.veth设备放入命名空间,启动接口 ip link set n…...

前端跨域~简述

前言 &#xff1a;绿蚁新醅酒&#xff0c;红泥小火炉 第一&#xff1a;前端跨域&#xff08;粗谈概念&#xff09; 1. 疑惑 当前端请求后端接口不通&#xff0c;浏览器控制台出现类似信息&#xff0c;则需要解决跨域 Access to XMLHttpRequest at ‘http://47.100.214.160:10…...

GIN:逼近WL-test的GNN架构

Introduction 在 图卷积网络GCN 中我们已经知道图神经网络在结点分类等任务上的作用&#xff0c;但GIN&#xff08;图同构神经网络&#xff09;给出了一个对于图嵌入&#xff08;graph embedding&#xff09;更强的公式。 GIN&#xff0c;图同构神经网络&#xff0c;致力于解…...

NIST密码学未来展望:Naughty Step 上的 SHA-1、3DES 和 SHA-224

1. 引言 NIST 几十年来一直致力于推动密码学标准的发展&#xff0c;2024年10月&#xff0c;其发布了Transitioning the Use of Cryptographic Algorithms and Key Lengths 草案&#xff1a; 概述了 SHA-1&#xff08;为160位哈希算法&#xff09; 将在不久的将来退役&#xf…...

go 集成gorm 数据库操作

一、什么是gorm GORM 是一个用于 Go 语言的 ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它提供了一种简单而强大的方式来与数据库进行交互。GORM 支持多种数据库&#xff0c;包括 MySQL、PostgreSQL、SQLite、SQL Server 等&#xff0c;并且提供了丰富的功能&…...

进程 线程 和go协程的区别

进程和线程是操作系统中两个重要的执行单元&#xff0c;理解它们的区别对于编程和系统设计非常重要。以下是它们的主要区别&#xff1a; ### 进程&#xff08;Process&#xff09; 定义&#xff1a;进程是一个正在执行的程序的实例&#xff0c;具有独立的地址空间。 资源&…...

STM32获取SHT3X温湿度芯片数据

目录 一、概述 二、单次数据采集模式的测量 1、配置说明 2、代码实现方式 三、周期性数据采集模式的测量 1、配置说明 2、代码实现方式 四、完整代码下载链接 一、概述 SHT3X是Sensirion公司推出的一款高精度、完全校准的温湿度传感器&#xff0c;基于CMOSens技术。它提…...

卸载miniconda3

1. 找到miniconda目录&#xff0c;删除。 rm -rf miniconda3/ 2. 编辑bashrc sudo vim .bashrc setup路径改回anaconda3的&#xff0c;注释掉“>>> conda initialize >>>”和"<<< conda initialize <<<"之间的miniconda的语…...

游戏中的设计模式及杂项

概述 如果要做以下游戏功能会用到哪些设计模式。比如创建一个人物角色&#xff0c;这个角色可以装备刀&#xff0c;然后角色可以用刀砍怪物&#xff0c;造成流血。 对于这个游戏功能&#xff0c;可以使用以下设计模式&#xff1a; 工厂模式&#xff08;Factory Pattern&#x…...

Docker网络和overlay的基础讲解

本人发现了两篇写的不错的文章&#xff1a;Docker网络 - docker network详解-CSDN博客&#xff0c;Docker 容器跨主机通信 overlay_docker overlay 网络-CSDN博客 因为这两篇文章中含有大量的例子&#xff0c;新手看起来毫不费力。于是我偷了个小懒&#xff0c;在本篇文章中没有…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...