0
私は非常に新しいカメラです。今では、カメラで単純な動きを検出したいのですが、私はcv2.absdiff()
を使います。しかし、私が得る配列(image1、image2)は同じです。抽象化のために異なる配列を取得する方法、または配列内の要素(画像)を取得する方法はありますか?ここ は私のコードです:picamera(python、opencv)から配列の画像を抽象化する方法
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
from picamera.array import PiRGBArray
from picamara import PiCamera
import cv2
import time
import time
import numpy as np
camera = PiCamera()
camera.resolution = (640,480)
camera.framerate = 32
rawCapture = PiRGBArray(camera,size=(640,480))
time.sleep(0.1)
for frame in camera.capture_continuous(rawCapture,format="bgr",use_video_port=True):
image1 = frame.array
gray1 = cv2.cvtColor(image1,cv2.COLOR_BGR2GRAY)
cv2.waitKey(33)
image2 = frame.array
gray2 = cv2.cvtColor(image2,cv2.COLOR_BGR2GRAY)
diff = cv2.absdiff(gray1,gray2)
cv2.imshow("DIFF",diff)
key = cv2.waitKey(33)&0xFF
rawCapture.truncate(0)
if key == ord("q"):
break
元のコードは、同じ繰り返しステップ内で同じフレームに2回アクセスします。つまり、基本的な初心者のミスですか?私はあなたの説明がこの問題にもう少し焦点を合わせることができると感じています。 – Wolf