目标跟踪:从基础背景减除到目标颜色跟踪
1. 实现基础背景减除器
要实现一个基础的背景减除器,可以采用以下方法:
1. 开始从相机捕获帧。
2. 丢弃前九帧,让相机有时间根据场景光照条件调整自动曝光。
3. 取第 10 帧,将其转换为灰度图并进行模糊处理,将这个模糊后的图像作为背景参考图像。
4. 对于后续的每一帧,先进行模糊处理,再转换为灰度图,然后计算该模糊帧与背景参考图像的绝对差值。对差值图像进行阈值处理、平滑处理和轮廓检测,最后绘制并显示主要轮廓的边界框。
使用高斯模糊可以使背景减除器对小振动和数字噪声不那么敏感,形态学操作也有同样的效果。
将上述步骤细化为代码,可按以下八个连续的代码块实现:
import cv2
BLUR_RADIUS = 21
erode_kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))
dilate_kernel = cv2.getStructuringElement(
cv2.MORPH_ELLIPSE, (9, 9))
cap = cv2.VideoCapture(0)
# Capture several frames to allow the camera's autoexposure to adjust.
for i in range(10):
success, frame = cap.read()
if not success:
exit(1)
gray_background = cv2.cvtColor(frame,
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



