婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Python使用OPENCV的目標(biāo)跟蹤算法實(shí)現(xiàn)自動(dòng)視頻標(biāo)注效果

Python使用OPENCV的目標(biāo)跟蹤算法實(shí)現(xiàn)自動(dòng)視頻標(biāo)注效果

熱門(mén)標(biāo)簽:哈爾濱外呼系統(tǒng)代理商 湛江電銷(xiāo)防封卡 電話機(jī)器人適用業(yè)務(wù) 鄭州智能外呼系統(tǒng)運(yùn)營(yíng)商 不錯(cuò)的400電話辦理 獲客智能電銷(xiāo)機(jī)器人 南昌辦理400電話怎么安裝 徐州天音防封電銷(xiāo)卡 佛山防封外呼系統(tǒng)收費(fèi)

先上效果

 1.首先,要使用opencv的目標(biāo)跟蹤算法,必須要有opencv環(huán)境

 使用:opencv==4.4.0 和 opencv-contrib-python==4.4.0.46,lxml   這三個(gè)環(huán)境包。

也可以使用以下方法進(jìn)行下載 : 

pip install opencv-python==4.4.0
pip install opencv-contrib-python==4.4.0.4

pip install lxml

2.使用方法:

        (1):英文狀態(tài)下的 “s” 是進(jìn)行標(biāo)注

        (2):使用小鍵盤(pán) 1-9 按下對(duì)應(yīng)的標(biāo)簽序號(hào),標(biāo)簽序號(hào)和標(biāo)簽可自定義(需要提前定義)

       (3):對(duì)目標(biāo)進(jìn)行繪制

       (4):按空格鍵繼續(xù)

        重復(fù)進(jìn)行 (1)(2)(3)(4)步驟,可實(shí)現(xiàn)多個(gè)目標(biāo)的跟蹤繪制

        英文狀態(tài)下的 “r” 是所有清除繪制

         英文狀態(tài)下的 “q” 是退出

          當(dāng)被跟蹤目標(biāo)丟失時(shí),自動(dòng)清除所有繪制

import cv2
import os
import time
from lxml import etree
 
#視頻路徑
Vs = cv2.VideoCapture('peaple.avi')
#自定義標(biāo)簽
Label = {1:"people",2:"car",3:"Camera"}
#圖片保存路徑 ,一定使用要用絕對(duì)路徑!!
imgpath = r"C:\Users\BGT\Desktop\opencv\img"
#xml保存路徑 ,一定使用要用絕對(duì)路徑!!
xmlpath = r"C:\Users\BGT\Desktop\opencv\xml"
#設(shè)置視頻縮放
cv2.namedWindow("frame", 0)
#設(shè)置視頻寬高
cv2.resizeWindow("frame", 618, 416)
 
#定義生成xml類
class Gen_Annotations:
    def __init__(self, json_info):
        self.root = etree.Element("annotation")
 
        child1 = etree.SubElement(self.root, "folder")
        child1.text = str(json_info["pic_dirname"])
 
        child2 = etree.SubElement(self.root, "filename")
        child2.text = str(json_info["filename"])
 
        child3 = etree.SubElement(self.root, "path")
        child3.text = str(json_info["pic_path"])
 
        child4 = etree.SubElement(self.root, "source")
 
        child5 = etree.SubElement(child4, "database")
        child5.text = "My name is BGT"
 
    def set_size(self, witdh, height, channel):
        size = etree.SubElement(self.root, "size")
        widthn = etree.SubElement(size, "width")
        widthn.text = str(witdh)
        heightn = etree.SubElement(size, "height")
        heightn.text = str(height)
        channeln = etree.SubElement(size, "depth")
        channeln.text = str(channel)
        segmented = etree.SubElement(self.root, "segmented")
        segmented.text = "0"
 
    def savefile(self, filename):
        tree = etree.ElementTree(self.root)
        tree.write(filename, pretty_print=True, xml_declaration=False, encoding='utf-8')
 
    def add_pic_attr(self, label, x0, y0, x1, y1):
        object = etree.SubElement(self.root, "object")
        namen = etree.SubElement(object, "name")
        namen.text = label
        pose = etree.SubElement(object, "pose")
        pose.text = "Unspecified"
        truncated = etree.SubElement(object, "truncated")
        truncated.text = "0"
        difficult = etree.SubElement(object, "difficult")
        difficult.text = "0"
        bndbox = etree.SubElement(object, "bndbox")
        xminn = etree.SubElement(bndbox, "xmin")
        xminn.text = str(x0)
        yminn = etree.SubElement(bndbox, "ymin")
        yminn.text = str(y0)
        xmaxn = etree.SubElement(bndbox, "xmax")
        xmaxn.text = str(x1)
        ymaxn = etree.SubElement(bndbox, "ymax")
        ymaxn.text = str(y1)
 
 #定義生成xml的方法
def voc_opencv_xml(a,b,c,d,e,f,boxes,Label,Label_a,save="1.xml"):
    json_info = {}
    json_info["pic_dirname"] = a
    json_info["pic_path"] = b
    json_info["filename"] = c
    anno = Gen_Annotations(json_info)
 
    anno.set_size(d, e, f)
 
    for box in range(len(boxes)):
        x,y,w,h = [int(v) for v in boxes[box]]
        anno.add_pic_attr(Label[Label_a[box]],x,y,x+w,y+h)
    anno.savefile(save)
  
if __name__ == '__main__':
    Label_a = []
    contents = os.path.split(imgpath)[1]
    trackers = cv2.MultiTracker_create()
    while True:
        Filename_jpg = str(time.time()).split(".")[0] + "_" + str(time.time()).split(".")[1] + ".jpg"
        Filename_xml = str(time.time()).split(".")[0] + "_" + str(time.time()).split(".")[1] + ".xml"
 
        path_Filename_jpg = os.path.join(imgpath,Filename_jpg)
        path_Filename_xml = os.path.join(xmlpath,Filename_xml)
 
        ret,frame = Vs.read()
        if not ret:
            break
 
        success,boxes = trackers.update(frame)
        if len(boxes)>0:
            cv2.imwrite(path_Filename_jpg, frame)
            judge = True
        else:
            judge = False
 
         if success==False:
            print("目標(biāo)丟失")
            trackers = cv2.MultiTracker_create()
            Label_a = []
            judge = False
        if judge:
            voc_opencv_xml(contents,Filename_jpg,path_Filename_jpg,frame.shape[1],frame.shape[0],frame.shape[2],boxes,Label,Label_a,path_Filename_xml)
        if judge:
            for box in range(len(boxes)):
                x,y,w,h = [int(v) for v in boxes[box]]
                cv2.putText(frame, Label[Label_a[box]], (x, y), cv2.FONT_HERSHEY_COMPLEX, 1, (255, 255, 255), 1)
                cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
  
        cv2.imshow('frame',frame)
 
        var = cv2.waitKey(30)
 
        if var == ord('s'):
            imgzi = cv2.putText(frame, str(Label), (50, 50), cv2.FONT_HERSHEY_TRIPLEX, 1, (0, 255, 0), 2)
            cv2.imshow('frame', frame)
            var = cv2.waitKey(0)
            if var-48len(Label) or var-48=len(Label):
                Label_a.append(int(var-48))
            box = cv2.selectROI("frame", frame, fromCenter=False,showCrosshair=True)
            tracker = cv2.TrackerCSRT_create()
            trackers.add(tracker,frame,box)
        elif var == ord("r"):
            trackers = cv2.MultiTracker_create()
            Label_a = []
        elif var == ord('q'): #退出
            break
 
    Vs.release()
    cv2.destroyAllWindows()
 

3.得到xml和img數(shù)據(jù)是VOC格式,img和xml文件以時(shí)間戳進(jìn)行命名。防止同名覆蓋。

4.最后使用 labelImg軟件  對(duì)獲取到的img和xml進(jìn)行最后的檢查和微調(diào)

到此這篇關(guān)于Python使用OPENCV的目標(biāo)跟蹤算法進(jìn)自動(dòng)視頻標(biāo)注效果的文章就介紹到這了,更多相關(guān)OPENCV目標(biāo)跟蹤自動(dòng)視頻標(biāo)注內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • opencv3/C++基于顏色的目標(biāo)跟蹤方式
  • Python+OpenCV目標(biāo)跟蹤實(shí)現(xiàn)基本的運(yùn)動(dòng)檢測(cè)
  • Opencv基于CamShift算法實(shí)現(xiàn)目標(biāo)跟蹤

標(biāo)簽:蘭州 安康 懷化 吉安 呂梁 蕪湖 廣西 紹興

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python使用OPENCV的目標(biāo)跟蹤算法實(shí)現(xiàn)自動(dòng)視頻標(biāo)注效果》,本文關(guān)鍵詞  Python,使用,OPENCV,的,目標(biāo),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python使用OPENCV的目標(biāo)跟蹤算法實(shí)現(xiàn)自動(dòng)視頻標(biāo)注效果》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python使用OPENCV的目標(biāo)跟蹤算法實(shí)現(xiàn)自動(dòng)視頻標(biāo)注效果的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产一区二区三区国产| 91精品国模一区二区三区| 精品国产91乱码一区二区三区 | 日本一区二区三区在线观看| 成人亚洲一区二区一| 五月综合激情网| 国产精品久久久久aaaa| 亚洲精品在线三区| 欧美色图天堂网| 99久久综合狠狠综合久久| 经典一区二区三区| 日韩中文字幕亚洲一区二区va在线 | 在线观看日韩av先锋影音电影院| 国产一区二三区好的| 轻轻草成人在线| 视频一区在线播放| 亚洲国产精品一区二区久久恐怖片| 欧美激情在线观看视频免费| 91精品国产综合久久婷婷香蕉 | 亚洲精品ww久久久久久p站| 懂色av中文一区二区三区| 成人禁用看黄a在线| 久久九九国产精品| 久久综合九色综合97婷婷女人| 欧美日韩中文精品| 国产亚洲制服色| 艳妇臀荡乳欲伦亚洲一区| 天天操天天综合网| 国产iv一区二区三区| 欧美日韩一区二区三区在线| 久久精品亚洲精品国产欧美| 一区二区三区中文字幕在线观看| 久久国内精品视频| 欧美在线视频日韩| 国产精品无码永久免费888| 日本在线播放一区二区三区| 91视频在线观看免费| 久久久精品日韩欧美| 亚洲国产三级在线| 色综合天天综合狠狠| 精品国产91乱码一区二区三区 | 亚洲一区二区三区视频在线播放 | 三级在线观看一区二区 | 亚洲欧美aⅴ...| www.激情成人| 亚洲靠逼com| 日韩午夜激情视频| 国产一区啦啦啦在线观看| 国产精品女主播av| 色婷婷精品久久二区二区蜜臂av | 日韩va欧美va亚洲va久久| 91欧美一区二区| 亚洲电影一级黄| 色八戒一区二区三区| 99视频超级精品| 成人欧美一区二区三区黑人麻豆| 欧美经典一区二区| 视频在线观看91| 欧美伊人久久大香线蕉综合69| 一个色综合av| 国产午夜精品美女毛片视频| 奇米色一区二区三区四区| 26uuu色噜噜精品一区二区| 亚洲国产人成综合网站| 91麻豆精品一区二区三区| 国产欧美一区二区精品性| 不卡的av电影| 国产精品网站导航| 不卡欧美aaaaa| 国产精品白丝在线| 91最新地址在线播放| 日本一区二区不卡视频| 国产成人一级电影| 国产精品看片你懂得| 国产美女av一区二区三区| 亚洲图片自拍偷拍| 一区二区三区在线免费视频| 日韩亚洲电影在线| 91久久一区二区| 一区二区三区国产精华| 欧美日韩一区二区三区四区| 日韩成人伦理电影在线观看| 国模大尺度一区二区三区| 亚洲国产aⅴ成人精品无吗| 一区二区在线看| 日韩成人精品在线观看| 国产亚洲一区二区三区在线观看| 国产夫妻精品视频| 亚洲自拍偷拍欧美| 精品无人码麻豆乱码1区2区| 日韩午夜小视频| 国产精品综合网| 在线观看不卡视频| 久久久久九九视频| 欧美一区三区二区| 色激情天天射综合网| 婷婷一区二区三区| 五月激情综合色| 国产精品主播直播| 国产成人精品午夜视频免费| 国产精品国产三级国产普通话99| 高清久久久久久| 一区二区三区免费看视频| 日韩一区二区三区高清免费看看| 成人三级在线视频| 久久aⅴ国产欧美74aaa| 色婷婷av一区二区三区大白胸| 国产精品影视在线观看| 欧美不卡在线视频| 精品一区二区三区欧美| 麻豆国产精品777777在线| 亚洲国产成人私人影院tom| av在线一区二区三区| 一二三区精品视频| 久久夜色精品一区| 7777精品伊人久久久大香线蕉| 精品在线你懂的| 色狠狠桃花综合| 日本人妖一区二区| 91福利社在线观看| 久久精品欧美一区二区三区不卡| 色婷婷精品大视频在线蜜桃视频 | 欧美精品一区二区三区久久久 | 久久电影国产免费久久电影| 欧美极品另类videosde| 亚洲国产精品精华液2区45| 亚洲美女视频在线| 91精品国产综合久久精品性色| 国产亚洲综合在线| 精品视频1区2区| 一区二区三区中文字幕电影 | 国产日韩一级二级三级| 蜜桃久久久久久久| 精品国产乱码久久久久久蜜臀| 日本亚洲最大的色成网站www| 欧美日韩国产一级片| 日韩一级视频免费观看在线| 午夜精品久久久久久不卡8050| 91在线一区二区| 中文字幕日韩一区| 欧美日韩精品一区二区三区| 麻豆91在线看| 青娱乐精品视频| 久久久精品综合| 色播五月激情综合网| 日韩专区在线视频| 国产麻豆成人传媒免费观看| 久久国产乱子精品免费女| 国产乱人伦偷精品视频不卡| 欧美猛男gaygay网站| 99久久综合精品| 成人午夜电影久久影院| 欧美日韩免费视频| 色婷婷激情久久| 国模一区二区三区白浆| 人人爽香蕉精品| 欧美日韩黄色影视| 亚洲一区视频在线观看视频| 蜜桃视频一区二区| 国产精品久久久久久一区二区三区 | 狠狠v欧美v日韩v亚洲ⅴ| 亚洲女与黑人做爰| 日本人妖一区二区| 一本色道久久综合狠狠躁的推荐| 91精品国产91久久久久久最新毛片 | 欧美日韩视频不卡| 91麻豆精品国产91久久久更新时间 | 香港成人在线视频| 99re热这里只有精品视频| 欧美日韩一卡二卡三卡| 久久99最新地址| 国产精品久久夜| 制服丝袜亚洲色图| 91污在线观看| 国产成人av福利| 精品一区二区在线播放| 欧美一级久久久久久久大片| 91看片淫黄大片一级| 极品少妇xxxx精品少妇偷拍| 一级做a爱片久久| 国产一区二区精品久久91| 亚洲伊人伊色伊影伊综合网| 26uuuu精品一区二区| 久久99国产精品免费| 东方aⅴ免费观看久久av| 亚洲欧洲日韩女同| 精品成人免费观看| 国产欧美一区二区三区网站| 一本色道久久加勒比精品| 久久国产视频网| 国产午夜精品久久久久久久 | 91麻豆123| 国产一区二区三区免费看 | 日韩精品一区二区三区四区| 亚洲欧洲99久久| 中文一区在线播放| 亚洲国产综合91精品麻豆| 天天亚洲美女在线视频| 日韩一卡二卡三卡| 亚洲制服欧美中文字幕中文字幕|