import cv2



cap = cv2.VideoCapture('video.mp4')
fps = cap.get(cv2.CAP_PROP_FPS)  # 获取视频帧率
wait_time = int(1000 / fps)
while cap.isOpened():
    ret, frame = cap.read()
    img2 = frame

    img = cv2.resize(img2, (500, 700))
    gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    _, threshold_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY)

    contours, _ = cv2.findContours(threshold_img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    cv2.drawContours(img, contours, -1, (0, 255, 0), 3)


    if not ret:
        break
    # 处理每一帧
    cv2.imshow('Video', img)
    if cv2.waitKey(wait_time) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

这段代码使用了opencv内置的边缘检测函数,并对视频每一帧做检测后重新播放

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐