opencv学习——视频帧处理
·
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内置的边缘检测函数,并对视频每一帧做检测后重新播放
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)