【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试用连载 】第二篇 视频的人脸检测相关推荐

  1. 【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 ...

  2. 【HarmonyOS HiSpark IPC DIY Camera试用连载1】开箱组装初印象

    [HarmonyOS HiSpark IPC DIY Camera试用连载1] 开箱组装初印象 一. 开箱资料 二. 包含的元件 三. 组装步骤 四.原装功能演示 五. 注意事项 /* 本人为文章作者 ...

  3. 【HarmonyOS HiSpark AI Camera试用连载 】AI_Camera_Hi3516DV300开发套件非专业开箱

    0.序   HarmonyOS面世已经有一段时间了,但是实际能上手体验还是头一遭.借由此次申请的AI_Camera_Hi3516DV300开发套件来实际体验一下这未知的鸿蒙.感谢电子发烧友能够提供这么 ...

  4. 鸿蒙能用linux许可证,【HarmonyOS HiSpark AI Camera试用连载 】Linux下的鸿蒙

    本帖最后由 jf_89761755 于 2020-10-19 07:32 编辑 Linux下的鸿蒙 --tjCFeng 拿到鸿蒙开发板 AI Camera 已经一个星期了,期间查找了众多的资料教程来学 ...

  5. 鸿蒙开发板HI3518视频,HiSpark IPC DIY Camera HarmonyOS开发板 鸿蒙开发板 - 电子技术论坛...

    活动流程 1. 申请:点击免费申请按钮,关注HarmonyOS专区即可报名.请认真填写申请理由,展现丰富的过往项目经验,有创意的试用计划和网络影响力,尽快完善论坛个人信息,这样可以大大提高申请通过几率 ...

  6. 《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 ...

  7. 【IP摄像机】IPC硬件构成

    IPC:其实交"网络摄像机",是IP Camera的简称.它是在前一代模拟摄像机的基础上,集成了编码模块后的摄像机.它和模拟摄像机的区别,就是在新增的"编码模块" ...

  8. ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services

    ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services 1. 专栏导读 本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文 ...

  9. ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头

    ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头 1. 专栏导读 2. 适合读者 本文只适合第一次拿到IPC摄像头,很好奇该怎么使用IPC的读者.已经玩过IPC的,可以略 ...

最新文章

  1. python读取csv文件第一行_尝试读取CSV文件的第一行返回['/']
  2. 区块链概况:什么是区块链
  3. 攻克指针(二)精华篇
  4. Linux 常用命令之系统信息
  5. android 7.0 mi5s,官方回应 小米5s升级安卓7.0还要再等等
  6. SAP document builder功能一览
  7. 华科考研834计算机网络,2018年华中科技大学834计算机专业基础综合 (模)...
  8. 智能机器人建房子后房价走势_明后年日照房价走势如何?究竟是“上涨”还是下降...
  9. C# linq Expression left join如何使用
  10. C语言(CED)递归实现汉诺塔问题
  11. 我的docker随笔4:docker常用命令
  12. Linux的高效传输函数sendfile
  13. 活动子项父项的复杂CSS选择器[重复]
  14. 【指纹识别】基于matlab GUI指纹打卡系统【含Matlab源码 867期】
  15. android word文件编辑器,docx文档编辑
  16. 绩效考核如何尽量公正
  17. Android用shape画个虚线
  18. vmware vmbox 使用虚拟机安装Windows11提示电脑不符合最低系统要求的解决方案
  19. 在腾讯云部署一个自己的网站 问题总结
  20. html 悬停 div,关于html:如何在div悬停时影响其他元素

热门文章

  1. 深度解密阿里达摩院:如何让科技与商业共舞
  2. github免用户名密码管理代码
  3. HyperLynx(十六)PCI-E的设计与仿真
  4. Python 10个项目创意
  5. Warning: Accessing non-existent property ‘cat‘ of module exports inside circular dependency
  6. 泥瓦匠聊并发编程:线程与多线程必知必会(基础篇)
  7. 堆米微信H5页面怎么制作?易企秀微信H5页面制作,微信简历制作,
  8. Neural Networks and Deep Learning
  9. 今日头条图片爬取(一)
  10. 电源技术——如何产生负电压