2

私はpythonとopencvの初心者で、raspberry piで顔検出プロジェクトを構築しようとしています。私はこのエラーが発生しています。ここに私のコードがあります

トレースバック (最新の呼び出しが最後):

 File "/home/pi/Desktop/picamera-code/FaceDetection1.0", line 19, in <module>
for frame in 
    camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):

コード:

import numpy as np
import cv2
from picamera.array import PiRGBArray
from picamera import PiCamera
import time


camera = PiCamera()
camera.resolution = (640, 480)
camera.framerate = 32
rawCapture = PiRGBArray(camera, size=(640, 480))

time.sleep(0.1)



face_cascade =  cv2.CascadeClassifier('/home/pi/Downloads/haarcascade_frontalface_default.xml')

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

    img=np.asarray(frame.array)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    faces = face_cascade.detectMultiScale(gray, 1.3, 5)
    for (x,y,w,h) in faces:
        img = cv2.Rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
        roi_gray = gray[y:y+h, x:x+w]
        roi_color = img[y:y+h, x:x+w]


cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
4

3 に答える 3

3

正解は、ループの最後でストリームを切り捨てる必要があるということです。追加

rawCapture.truncate(0) 

最初の for ループの最後。

于 2017-02-20T23:42:58.363 に答える