首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >结合使用Pi Camera模块和OpenCV Python

结合使用Pi Camera模块和OpenCV Python
EN

Stack Overflow用户
提问于 2015-12-01 17:13:43
回答 1查看 10.3K关注 0票数 2

我目前有一些代码可以从Pi Camera Module捕获静止图像,然后使用OpenCV for Python提供的haarcascade xml文件识别人脸。我使用的代码是这篇博客文章末尾显示的代码:http://rpihome.blogspot.co.uk/2015/03/face-detection-with-raspberry-pi.html,但是它被稍微修改了一下(完全正常工作)。

唯一的问题是,它目前只能识别静止图像上的人脸。有没有办法让我可以连续地从Pi摄像头直接流到OpenCV,然后在窗口中实时处理面孔和面孔周围的显示框,而不是将单个帧保存到文件中?我在网上尝试了几个不同的教程,但它们似乎都对我不起作用。

EN

回答 1

Stack Overflow用户

发布于 2015-12-01 17:35:31

我还没有试过,但是这个应该可以用。

代码语言:javascript
运行
AI代码解释
复制
from picamera.array import PiRGBArray
from picamera import PiCamera
import cv2
import time

camera = PiCamera()
camera.resolution = (320, 240)
camera.framerate = 30
rawCapture = PiRGBArray(camera, size=(320, 240))

display_window = cv2.namedWindow("Faces")

face_cascade = cv2.CascadeClassifier('path_to_my_face_cascade.xml')

time.sleep(1)

for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):

    image = frame.array

    #FACE DETECTION STUFF
    gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 1.1, 5)
    for (x,y,w,h) in faces:
        cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),2)

    #DISPLAY TO WINDOW
    cv2.imshow("Faces", image)
    key = cv2.waitKey(1)

    rawCapture.truncate(0)

    if key == 27:
        camera.close()
        cv2.destroyAllWindows()
        break

看一下picamera here.的文档。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34026097

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文