【智控万物】树莓派触摸屏——显示人脸检测

2021-08-106502
AI 快速预览详细 收起
本文介绍了如何使用7寸800x480 TFT DSI电容触摸屏和树莓派摄像头模块V2实现人脸检测。首先更新软件包,然后使用清华大学的pip源安装opencv,并解决依赖库问题。通过运行程序,可以在屏幕上实时显示人脸检测结果。这个项目不仅适合STEM教育场景,还能作为儿童科学实验和AI启蒙玩具。
【屏幕】
这次用的是“7" 800x480 TFT 树莓派 DSI 电容触摸屏”,与3.5寸电阻屏(480 x 320分辨率)的比较图。
【智控万物】树莓派触摸屏——显示人脸检测图1


【摄像头】

树莓派摄像头模块V2 该摄像头拥有一个高质量的800万像素的Sony IMX219图像传感器,能够拍摄3280 2464 像素的静态图像。

【智控万物】树莓派触摸屏——显示人脸检测图2

【树莓派安装opencv】

首先要更新一下现有的软件包:(Python3)

$ sudo apt-get update
$ sudo apt-get upgrade


1、清华大学的 pip 源安装:  sudo pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
2、安装时,出现缺少依赖库,对应提示安装就可以。
3、pip install -U numpy  升级numpy包


【运行程序】
【智控万物】树莓派触摸屏——显示人脸检测图3

  1. import numpy as np
  2. import cv2
  3. face_Cascade = cv2.CascadeClassifier('/home/pi/Downloads/opencv-4.5.3/data/haarcascades/haarcascade_frontalface_default.xml')
  4. cap = cv2.VideoCapture(0)
  5. cap.set(3,640) # set Width
  6. cap.set(4,480) # set Height
  7. while True:
  8.     ret, img = cap.read()
  9.     img = cv2.flip(img, 1)
  10.     gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  11.     faces = face_Cascade.detectMultiScale(gray, scaleFactor=1.2,minNeighbors=5,minSize=(30, 30))
  12.     for (x,y,w,h) in faces:
  13.         cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
  14.         roi_gray = gray[y:y+h, x:x+w]
  15.         roi_color = img[y:y+h, x:x+w]  
  16.     cv2.imshow('video',img)
  17.     k = cv2.waitKey(30) & 0xff
  18.     if k == 27: # press 'ESC' to quit
  19.         break
  20. cap.release()
  21. cv2.destroyAllWindows()
复制代码
【演示视频】

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
云天
云天
作者
屏幕+摄像头开启,需要的电流预测在3A以上,经常右上角出现 闪电(缺电)
云天
云天
作者
触控效果很好
gray6666
gray6666
7寸触控功能如何?
云天
云天
作者
用OpenCV提供的分类器,识别效率有点不太让人满意,有网友说,这些分类器对西方人识别比效好。
- 没有更多了 -