Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 树莓皮_Python_Opencv_Raspberry Pi_Omxplayer - Fatal编程技术网

Python 树莓皮

Python 树莓皮,python,opencv,raspberry-pi,omxplayer,Python,Opencv,Raspberry Pi,Omxplayer,嗨,我正在努力提高自己,我对覆盆子皮感兴趣。我想开发一个学生项目与树莓皮,树莓皮相机和tft屏幕。它包括,当raspi摄像机检测到一个人脸时,显示一个电影,而不检测任何人脸显示其他电影。我编写了如下代码。我使用了python opencv omxplayer libs。当我运行代码时,如果没有检测到人脸,没有播放视频,但是如果检测到人脸,视频会非常严重地打开和关闭,视频不会出现,只有黑色阴影快速地在屏幕上出现和消失。谢谢你的帮助。问候 from picamera.array import PiR

嗨,我正在努力提高自己,我对覆盆子皮感兴趣。我想开发一个学生项目与树莓皮,树莓皮相机和tft屏幕。它包括,当raspi摄像机检测到一个人脸时,显示一个电影,而不检测任何人脸显示其他电影。我编写了如下代码。我使用了python opencv omxplayer libs。当我运行代码时,如果没有检测到人脸,没有播放视频,但是如果检测到人脸,视频会非常严重地打开和关闭,视频不会出现,只有黑色阴影快速地在屏幕上出现和消失。谢谢你的帮助。问候

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 )

这里的问题在while指令中。当程序在while循环中检测到一个面时。在这里,程序继续杀死omxplayer并开始播放电影。

尝试删除while循环,看看代码是否有效。

我认为您应该在这里更好地解释这个问题。我听不懂最后一句话。谢谢你的重播,我编辑了。再次感谢你的回复。我删除了指令。现在,当没有检测到人脸时,视频看起来像旧代码中检测到的人脸,视频的打开和关闭非常严重,视频没有出现,只有黑影在屏幕上快速出现和消失。你对这种情况有什么建议吗?你能发布一个问题的截图吗?我拍了一段2秒钟的视频。我加入了youtube。链接:如果你想,我可以拍更长的视频