Da die Mittelwertverschiebung häufig von Hintergrundgeräuschen erfasst wird, möchte ich den Vordergrund und den Hintergrund in Echtzeit trennen und die Mittelwertverschiebung nur auf den Vordergrund anwenden.
Die zu verwendende API lautet wie folgt.
Also habe ich es versucht.
import cv2
cam = cv2.VideoCapture(0)
winName = "Movement Indicator"
cv2.namedWindow(winName, cv2.CV_WINDOW_AUTOSIZE)
img_past = None
img_now = None
while True:
img_past = img_now
img_now = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)
if img_now is not None and img_past is not None:
img_diff = cv2.absdiff(img_now, img_past)
cv2.imshow(winName, img_diff)
key = cv2.waitKey(10)
Wenn sich die Pixel im Vergleich zum vorherigen Bild ändern, ist das Bild umso weißer, je größer der Unterschied ist.
Das ist alles für heute.
Ich blogge: http://weed.nagoya