适合局域网花屏屏蔽,摄像头不动的运动检测,pc上5ms以内,经常是2ms
不能物体移开。
import time
import numpy as np
import cv2
def absdiff_demo(image_1, image_2, sThre):
gray_image_1 = cv2.cvtColor(image_1, cv2.COLOR_BGR2GRAY) # 灰度化
gray_image_1 = cv2.GaussianBlur(gray_image_1, (5, 5), 0) # 高斯滤波
gray_image_2 = cv2.cvtColor(image_2, cv2.COLOR_BGR2GRAY)
gray_image_2 = cv2.GaussianBlur(gray_image_2, (5, 5), 0)
d_frame = cv2.absdiff(gray_image_1, gray_image_2)
ret, d_frame = cv2.threshold(d_frame, sThre, 255, cv2.THRESH_BINARY)
return d_frame
capture = cv2.VideoCapture(0)
sThre = 10 # sThre表示像素阈值
i = 0
while (True):
ret, frame = capture.read()
if i == 0:
cv2.waitKey(1)
i = i + 1
ret_2, frame_2 = capture.read()