OpenCV Python-AbsDiff最新更改

OpenCV Python-AbsDiff最新更改,python,opencv,image-processing,image-preprocessing,Python,Opencv,Image Processing,Image Preprocessing,prev_frame_gray是我的视频捕获中拍摄的第一帧(0)。它描绘了我拿着一部手机,c_frame_gray是手机快速移动的下一帧。现在我只想改变当前帧 frame_diff = cv2.absdiff(c_frame_gray,prev_frame_gray) edges = cv2.Canny(frame_diff, 40, 40) _, thresh = cv2.threshold(edges, 0, 80, cv2.THRESH_BINARY) 如图所示,蓝色圆圈是第一帧的图像

prev_frame_gray是我的视频捕获中拍摄的第一帧(0)。它描绘了我拿着一部手机,c_frame_gray是手机快速移动的下一帧。现在我只想改变当前帧

frame_diff = cv2.absdiff(c_frame_gray,prev_frame_gray)
edges = cv2.Canny(frame_diff, 40, 40)
_, thresh = cv2.threshold(edges, 0, 80, cv2.THRESH_BINARY)


如图所示,蓝色圆圈是第一帧的图像,红色圆圈是最新的更改。我只想要红色圆圈的轮廓。我做错了什么?或者我应该采取什么额外的步骤?

如果可能,请提供用于生成此输出的两个连续帧(c\U帧、prev\U帧)。到目前为止,至少从我的角度来看,您的问题是不可理解的。请提供您在
cv2.absdiff
中使用的输入。显示的图像到底是什么?这是来自给定代码段的
cv2.threshold
的输出吗?如果是这样,您希望如何在该图像中同时包含两个帧,同时记住输入是来自
cv2.absdiff
!?正如我所说的,相当混乱。也许可以详细说明你想要达到的目标。@HansHirse我做了一些编辑。bit01当前正在比较两个连续帧…由于abs不同,abs显示正值和负值。如果你只想展示一面,那么不要使用腹肌。只需从另一个值中减去一个值,然后将值剪裁到0以下。@fmw42我可以参考的任何地方?