使用OpenCV和Python在视频上应用热图

我想编写一个代码,将热图应用于有运动的地方的视频。我写了一个检测运动的代码,有轮廓,但我不知道如何制作热图。

这是我拥有的代码

import cv2
import numpy as np

# upload video
cap = cv2.VideoCapture('test_video.mp4')

#reading two frames
ret, frame1 = cap.read()
ret, frame2 = cap.read()

while cap.isOpened():

     # get diference between two frames
     diff = cv2.absdiff(frame1, frame2)

     # convert diference in gray
     gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY)

     # bluring and treshold
     blur = cv2.GaussianBlur(gray, (5,5), 0)
     _, thresh = cv2.threshold(blur, 20, 255, cv2.THRESH_BINARY)

     dilated = cv2.dilate(thresh, None, iterations = 3)

     # define contours
     contours, _ = cv2.findContours(dilated, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
     
     # draw contours
     cv2.drawContours(frame1, contours, -1, (255,0,0), 1)

     # show frames
     cv2.imshow('frame', frame1)
     frame1 = frame2
     ret, frame2 = cap.read()

     if cv2.waitKey(60) == 60:
          break

cv2.destroyAllWindows()
cap.release()

我看过这个链接:Build a Motion Heatmap Video Using OpenCV With Python。我想重现代码,但是很多东西如fourcc, image_folder, 和images没有定义,所以我试着用另一种方式来做。

你能帮我解决这个问题吗?基本上,我想将热图应用于有运动的视频。

以上是使用OpenCV和Python在视频上应用热图的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>