Since meanshift tracking is often caught in background noise, I would like to separate the foreground and background in real time and apply meanshift tracking only to the foreground.
The API used is as follows.
So I tried it.
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)
If there is a change in the pixels compared to the previous frame, the larger the difference, the whiter the image.
That's all for today.
I'm blogging: http://weed.nagoya