日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python画图视频_如何在视频文件的第一帧上画图,然后继续显示整个视频

發布時間:2025/3/19 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python画图视频_如何在视频文件的第一帧上画图,然后继续显示整个视频 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我在python中使用opencv庫。我打開了一個現有的視頻文件,并編寫了一個小腳本,允許我在視頻的任何地方畫一個矩形。問題是:我想在視頻的第一幀上畫一個矩形,然后把它留在那里為我標記一個感興趣的區域。在

我正在使用cv2.imshow(winname, frame)顯示我的視頻。因為它每秒以非常高的幀速率運行/顯示視頻(我不想改變它,因為我的視頻很長),當我開始繪制矩形時,已經顯示了許多幀。在

因為我認為這可能有幫助,下面是我目前為止的代碼:

進口cv2#mouse callback function#

def draw_rectangle(event, x, y, flags, param):

global pt1, pt2, topLeft_clicked, bottomRight_clicked

#mouse click

if event == cv2.EVENT_LBUTTONDOWN:

#reset

if topLeft_clicked and bottomRight_clicked:

topLeft_clicked = False

bottomRight_clicked = False

pt1 = (0,0)

pt2 = (0,0)

#get coordinates of top left corner

if not topLeft_clicked:

pt1 = (x,y)

topLeft_clicked = True

#get coordinates of bottom right corner

elif not bottomRight_clicked:

pt2 = (x,y)

bottomRight_clicked = True

#start actual program

#initially we haven't drawn anything

pt1 = (0,0)

pt2 = (0,0)

topLeft_clicked = False

bottomRight_clicked = False

#capture video

cap = cv2.VideoCapture('Path to video')

cv2.namedWindow(winname='myName')

cv2.setMouseCallback('myName', draw_rectangle)

firstFrame = True

while True:

ret, frame = cap.read()

gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

while ret and firstFrame:

cv2.imshow('myName', gray_frame)

if topLeft_clicked:

cv2.circle(gray_frame, center=pt1, radius=5, color=(255,0,0), thickness=-1)

if topLeft_clicked and bottomRight_clicked:

cv2.rectangle(gray_frame, pt1, pt2, (255,0,0), 2)

firstFrame = False

cv2.imshow('Estimate_Velocity', gray_frame)

if cv2.waitKey(1) &0xFF == ord('q'):

break

cap.release()

cv2.destroyAllWindows()

總結

以上是生活随笔為你收集整理的python画图视频_如何在视频文件的第一帧上画图,然后继续显示整个视频的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。