的轮廓,并绘制在新的画布上。

以下是示例代码:

import cv2

读取视频文件

cap = cv2.VideoCapture('C:/Users/Jionie/Desktop/dazuo/pp.mp4')

创建输出视频文件

fourcc = cv2.VideoWriter_fourcc(*'mp4v') out = cv2.VideoWriter('output.mp4', fourcc, 30.0, (640, 360))

while True: # 逐帧读取视频 ret, frame = cap.read()

if not ret:
    break

# 将图像转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# 通过阈值分割获取乒乓球的遮罩
_, mask = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY)

# 提取乒乓球的轮廓
contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 在新的画布上绘制乒乓球轮廓
canvas = frame.copy()
cv2.drawContours(canvas, contours, -1, (0, 0, 255), 2)

# 将输出帧写入输出视频文件
out.write(canvas)

# 显示当前帧图像
cv2.imshow('frame', canvas)

# 按下 q 键退出
if cv2.waitKey(1) == ord('q'):
    break

释放资源

cap.release() out.release() cv2.destroyAllWindows(


原文地址: https://www.cveoy.top/t/topic/dQde 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录