鸿蒙IPC摄像机,【HiSpark IPC DIY Camera试用连载 】第二篇 视频的人脸检测
【HiSpark IPC DIY Camera试用连载 】第二篇 视频的人脸检测,
本帖最后由 瑟寒凌风 于 2021-1-14 00:13 编辑
实在的,ipc本身就带有这个功能,只要摄像头出现画面,本身就会检测人脸,而且从app上看,还有移动检测功能,已经非常强大了,但是自己做出来,可以了解更多的知识. 本文使用python和opencv来检测的人脸. 使用的主要api如下:
cv2.cvtColor对色彩进行转换
cv2.CascadeClassifier这个是输入人脸数据,该数据基于文件haarcascade_frontalface_alt_tree.xml,已经保存了人脸特征,不需要我们去实现
cv2.detectMultiScale该函数用来检测人脸,是本文处理人脸的主要函数
复制代码 Opencv打开摄像头使用函数:
camera = cv2.VideoCapture(0) # 参数0表示第一个摄像头
复制代码 程序代码如下
# -*- coding: utf-8 -*-
import cv2
import numpy as np
camera = cv2.VideoCapture(0)
# 判断视频是否打开
if (camera.isOpened())
print(\“Open\“)
else:
print(\“摄像头未打开\“)
# 测试用,查看视频size
size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)),
int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print(\“size:\“ + repr(size))
# es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))
# kernel = np.ones((5, 5), np.uint8)
# background = None
while True:
# 读取视频流
grabbed, frame_lwpCV = camera.read()
gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY)
face_detector = cv2.CascadeClassifier(“D:/Python/Python39/Lib/site-packages/cv2/data/haarcascade_frontalface_alt_tree.xml“)
\“\“\“
cv2.cv2.CascadeClassifier.CascadeClassifier def __init__(self,
*args: Any,
**kwargs: Any) -> None
\“\“\“
faces = face_detector.detectMultiScale(gray_lwpCV, 1.02, 5)
\“\“\“
def detectMultiScale(self,
image: Any, # 输入待检测的图像,灰度
scaleFactor: Any = None, # 尺度系数
minNeighbors: Any = None, # 需要的邻域数
flags: Any = None,
minSize: Any = None, # 最小检测窗口
maxSize: Any = None) -> None # 最大检测窗口
\“\“\“
for x, y, w, h in faces:
cv2.rectangle(frame_lwpCV, (x, y), (x + w, y + h), (0, 0, 255), 2) # 绘制矩形
# cv2.rectangle(frame_lwpCV, (x, y), (x + w, y + h), (0, 255, 0), 2)
# cv2.rectangle(src, (x, y), (x + w, y + h), (0, 0, 255), 2) # 绘制矩形
\“\“\“
def rectangle(img: Any, # 图像
pt1: Any, # pt1 矩形的一个顶点
pt2: Any, # pt2 矩形对角线上的另一个顶点
color: Any, # 线条颜色 (RGB) 或亮度(灰度图像 )
thickness: Any = None, # 组成矩形的线条的粗细程度,取负值时(如 CV_FILLED)函数绘制填充了色彩的矩形
lineType: Any = None, # 线条的类型
shift: Any = None) -> None
\“\“\“
cv2.imshow(\“contours\“, frame_lwpCV)
# cv2.imshow(\“dis\“, diff)
key = cv2.waitKey(1) & 0xFF
# 按\“q\“健退出循环
if key == ord(\“q\“):
break
# When everything done, release the capture
camera.release()
cv2.destroyAllWindows()
PS:我在发现代码格式乱了之后,尝试修改,出现如下错误
QQ截图20210114001021.jpg (38.17 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
没法改,尴尬...
鸿蒙IPC摄像机,【HiSpark IPC DIY Camera试用连载 】第二篇 视频的人脸检测相关推荐
- 【HarmonyOS HiSpark IPC DIY Camera试用连载4 】 鸿蒙OS内核liteos-a如何启动第一个用户进程init_lite
[HarmonyOS HiSpark IPC DIY Camera试用连载4 ] 鸿蒙OS内核liteos-a如何启动第一个用户进程init_lite 1. 鸿蒙OS编译知识 2. 从编译过程看鸿蒙O ...
- 【HarmonyOS HiSpark IPC DIY Camera试用连载1】开箱组装初印象
[HarmonyOS HiSpark IPC DIY Camera试用连载1] 开箱组装初印象 一. 开箱资料 二. 包含的元件 三. 组装步骤 四.原装功能演示 五. 注意事项 /* 本人为文章作者 ...
- 【HarmonyOS HiSpark AI Camera试用连载 】AI_Camera_Hi3516DV300开发套件非专业开箱
0.序 HarmonyOS面世已经有一段时间了,但是实际能上手体验还是头一遭.借由此次申请的AI_Camera_Hi3516DV300开发套件来实际体验一下这未知的鸿蒙.感谢电子发烧友能够提供这么 ...
- 鸿蒙能用linux许可证,【HarmonyOS HiSpark AI Camera试用连载 】Linux下的鸿蒙
本帖最后由 jf_89761755 于 2020-10-19 07:32 编辑 Linux下的鸿蒙 --tjCFeng 拿到鸿蒙开发板 AI Camera 已经一个星期了,期间查找了众多的资料教程来学 ...
- 鸿蒙开发板HI3518视频,HiSpark IPC DIY Camera HarmonyOS开发板 鸿蒙开发板 - 电子技术论坛...
活动流程 1. 申请:点击免费申请按钮,关注HarmonyOS专区即可报名.请认真填写申请理由,展现丰富的过往项目经验,有创意的试用计划和网络影响力,尽快完善论坛个人信息,这样可以大大提高申请通过几率 ...
- 《HarmonyOS开发 - IPC Camera开发笔记》第2章 HiSpark IPC Camera开发环境搭建(基于V1.1.4)
开发环境: 开发系统:Ubuntu 20.04 Harmony版本:code-v1.1.4-LTS.tar HiSpark IPC Camera基于华为海思Hi3518芯片,支持LiteOS.Open ...
- 【IP摄像机】IPC硬件构成
IPC:其实交"网络摄像机",是IP Camera的简称.它是在前一代模拟摄像机的基础上,集成了编码模块后的摄像机.它和模拟摄像机的区别,就是在新增的"编码模块" ...
- ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services
ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services 1. 专栏导读 本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文 ...
- ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头
ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头 1. 专栏导读 2. 适合读者 本文只适合第一次拿到IPC摄像头,很好奇该怎么使用IPC的读者.已经玩过IPC的,可以略 ...
最新文章
- python读取csv文件第一行_尝试读取CSV文件的第一行返回['/']
- 区块链概况:什么是区块链
- 攻克指针(二)精华篇
- Linux 常用命令之系统信息
- android 7.0 mi5s,官方回应 小米5s升级安卓7.0还要再等等
- SAP document builder功能一览
- 华科考研834计算机网络,2018年华中科技大学834计算机专业基础综合 (模)...
- 智能机器人建房子后房价走势_明后年日照房价走势如何?究竟是“上涨”还是下降...
- C# linq Expression left join如何使用
- C语言(CED)递归实现汉诺塔问题
- 我的docker随笔4:docker常用命令
- Linux的高效传输函数sendfile
- 活动子项父项的复杂CSS选择器[重复]
- 【指纹识别】基于matlab GUI指纹打卡系统【含Matlab源码 867期】
- android word文件编辑器,docx文档编辑
- 绩效考核如何尽量公正
- Android用shape画个虚线
- vmware vmbox 使用虚拟机安装Windows11提示电脑不符合最低系统要求的解决方案
- 在腾讯云部署一个自己的网站 问题总结
- html 悬停 div,关于html:如何在div悬停时影响其他元素
热门文章
- 深度解密阿里达摩院:如何让科技与商业共舞
- github免用户名密码管理代码
- HyperLynx(十六)PCI-E的设计与仿真
- Python 10个项目创意
- Warning: Accessing non-existent property ‘cat‘ of module exports inside circular dependency
- 泥瓦匠聊并发编程:线程与多线程必知必会(基础篇)
- 堆米微信H5页面怎么制作?易企秀微信H5页面制作,微信简历制作,
- Neural Networks and Deep Learning
- 今日头条图片爬取(一)
- 电源技术——如何产生负电压