안녕하세요 저는 자신을 개선하려고 노력하고 있습니다. 나는 라스베리 파이에 관심이 있습니다. 나는 라즈베리 파이, 라스베리 파이 카메라, tft 스크린으로 학생 프로젝트를 만들고 싶습니다. 그것은 raspi cam이 얼굴을 탐지 할 때, 하나의 영화를 표시하고 어떤 얼굴도 감지하지 못하면서 다른 영화를 표시합니다. 아래 코드를 작성했습니다. 나는 python opencv omxplayer libs를 사용했다. 코드를 실행할 때 얼굴이 감지되지 않으면 비디오가 재생되지 않지만 얼굴이 감지되면 비디오가 매우 심각하게 켜지거나 꺼지거나 비디오가 나타나지 않고 검정색 그림자 만 화면에 빠르게 나타납니다. 도움을 주셔서 감사합니다. 감사합니다라스베리 파이 Omxplayer OpenCV
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
import os
import numpy
from subprocess import Popen
#setup movies
movie1 = ("my_movie1_path")
movie2 = ("my_movie2_path")
camera = PiCamera()
camera.resolution = (320, 240)
camera.framerate = 60
rawCapture = PiRGBArray(camera, size=(320, 240))
# Load a cascade file for detecting faces
face_cascade = cv2.CascadeClassifier('my_path/lbpcascade_frontalface.xml')
t_start = time.time()
fps = 0
# Capture frames from the camera
for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
image = frame.array
# Use the cascade file we loaded to detect faces
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray)
print "1"
While True:
if len(faces) > 0 :
os.system('killall omxplayer.bin')
omcx = Popen(['omxplayer', '-b', movie2])
else :
os.system('killall omxplayer.bin')
omcx = Popen(['omxplayer', '-b', movie1])
#print "Found " + str(len(faces)) + " face(s)"
print "2"
rawCapture.truncate(0)
여기에서 문제를 더 잘 설명해야한다고 생각합니다. 나는 마지막 문장을 이해할 수 없다. –
재생 해 주셔서 감사합니다. –