Python Opencv的新功能:使用网络摄像头阈值/放大的运动跟踪

Python Opencv的新功能:使用网络摄像头阈值/放大的运动跟踪,python,opencv,webcam,tracking,motion,Python,Opencv,Webcam,Tracking,Motion,大家好,我对编程和python opencv都很陌生,我已经找到了一个答案,但是我找不到 我试图通过以下方式使用我的网络摄像头进行运动跟踪: 取当前帧和前一帧的绝对差值 这将转换为灰度,并通过阈值过滤器运行,以便只有发生变化的像素(即有移动的地方)将为白色。所有其他像素将为黑色 但当我尝试设置阈值并在帧差中应用放大时,我得到了一个错误: t_minus_dilate = cv2.dilate(t_minus_thresh, es) TypeError: <unknown> is

大家好,我对编程和python opencv都很陌生,我已经找到了一个答案,但是我找不到

我试图通过以下方式使用我的网络摄像头进行运动跟踪:

  • 取当前帧和前一帧的绝对差值
  • 这将转换为灰度,并通过阈值过滤器运行,以便只有发生变化的像素(即有移动的地方)将为白色。所有其他像素将为黑色
但当我尝试设置阈值并在帧差中应用放大时,我得到了一个错误:

t_minus_dilate = cv2.dilate(t_minus_thresh, es)
TypeError: <unknown> is not a numpy array
我不知道这是最好的方法,但我会用这段代码制作一个游戏,目标是弹出掉在屏幕上的泡泡,如果泡泡所在的位置有移动(如果有白色像素),泡泡就会弹出

提前感谢

试试这个:

retvel, t_minus_thresh = cv2.threshold(t_minus, 0, 255, cv2.THRESH_OTSU)
t_minus_dilate = cv2.dilate(t_minus_thresh, es)
cv2.threshold返回,第二个是图像

retvel, t_minus_thresh = cv2.threshold(t_minus, 0, 255, cv2.THRESH_OTSU)
t_minus_dilate = cv2.dilate(t_minus_thresh, es)