python+函數(shù)追蹤 基于python的目標(biāo)跟蹤

python中add_trace是什么意思

追蹤。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、吉州網(wǎng)絡(luò)推廣、成都微信小程序、吉州網(wǎng)絡(luò)營(yíng)銷、吉州企業(yè)策劃、吉州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供吉州建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:muchs.cn

add(element)函數(shù)是將對(duì)象作為一個(gè)整體,為字典添加元素,若添加的元素已在字典中中,則不執(zhí)行任何操作。

由于Python語言的簡(jiǎn)潔性、易讀性以及可擴(kuò)展性,在國(guó)外用Python做科學(xué)計(jì)算的研究機(jī)構(gòu)日益增多,一些知名大學(xué)已經(jīng)采用Python來教授程序設(shè)計(jì)課程例如卡耐基梅隆大學(xué)的編程基礎(chǔ)、麻省理工學(xué)院的計(jì)算機(jī)科學(xué)及編程導(dǎo)論就使用Python語言講授。

python-opencv怎樣找到要跟蹤對(duì)象的HSV

其實(shí)這真的很簡(jiǎn)單,函數(shù) cv2.cvtColor() 也可以用到這里。但是現(xiàn)在你要傳入的參數(shù)是(你想要

的)BGR 值而不是一副圖。例如,我們要找到綠色的 HSV 值,我們只需在終端輸入以下命令:

**import cv2

import numpy as np

green=np.uint8([0,255,0])

hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2HSV)

error: /builddir/build/BUILD/opencv-2.4.6.1/

modules/imgproc/src/color.cpp:3541:

error: (-215) (scn == 3 || scn == 4) (depth == CV_8U || depth == CV_32F)

in function cvtColor

#scn (the number of channels of the source),

#i.e. self.img.channels(), is neither 3 nor 4.

#

#depth (of the source),

#i.e. self.img.depth(), is neither CV_8U nor CV_32F.

# 所以不能用 [0,255,0] ,而要用 [[[0,255,0]]]

# 這里的三層括號(hào)應(yīng)該分別對(duì)應(yīng)于 cvArray , cvMat , IplImage

green=np.uint8([[[0,255,0]]])

hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2HSV)

print hsv_green

[[[60 255 255]]]**1234567891011121314151617181912345678910111213141516171819

**擴(kuò)展縮放只是改變圖像的尺寸大小。OpenCV 提供的函數(shù) cv2.resize()

可以實(shí)現(xiàn)這個(gè)功能。圖像的尺寸可以自己手動(dòng)設(shè)置,你也可以指定縮放因子。我

們可以選擇使用不同的插值方法。在縮放時(shí)我們推薦使用 cv2.INTER_AREA,

在擴(kuò)展時(shí)我們推薦使用 v2.INTER_CUBIC(慢) 和 v2.INTER_LINEAR。

默認(rèn)情況下所有改變圖像尺寸大小的操作使用的插值方法都是 cv2.INTER_LINEAR。

你可以使用下面任意一種方法改變圖像的尺寸:**

12345671234567

**# -*- coding: utf-8 -*-

"""

@author: Andrew

"""

import cv2

import numpy as np

img=cv2.imread('tu.jpg')

res=cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)

height,width=img.shape[:2]

res=cv2.resize(img,(2*width,2*height),interpolation=cv2.INTER_CUBIC)

while(1):

cv2.imshow('res',res)

cv2.imshow('img',img)

if cv2.waitKey(1)0xFF==27:

break

cv2.destroyAllWindows()**1234567891011121314151617181920212212345678910111213141516171819202122

目標(biāo)跟蹤(5)使用 Opencv 和 Python 進(jìn)行對(duì)象跟蹤

在本教程中,我們將學(xué)習(xí)如何基于 Opencv 和 Python 實(shí)現(xiàn)對(duì)象跟蹤。

首先必須明確目標(biāo)檢測(cè)和目標(biāo)跟蹤有什么區(qū)別:

我們將首先討論對(duì)象檢測(cè),然后討論如何將對(duì)象跟蹤應(yīng)用于檢測(cè)。

可能有不同的應(yīng)用,例如,計(jì)算某個(gè)區(qū)域有多少人,檢查傳送帶上有多少物體通過,或者計(jì)算高速公路上的車輛。

當(dāng)然,看過本教程后,您會(huì)很容易地想到數(shù)以千計(jì)的想法應(yīng)用于現(xiàn)實(shí)生活或可能應(yīng)用于工業(yè)。

在本教程中,我們將使用 3 個(gè)文件:

首先我們需要調(diào)用highway.mp4文件并創(chuàng)建一個(gè)mask:

正如您在示例代碼中看到的,我們還使用了 createBackgroundSubtractorMOG2 函數(shù),該函數(shù)返回背景比率(background ratio),然后創(chuàng)建mask。

mask可視化結(jié)果:

但是,如您所見,圖像中有很多噪點(diǎn)。因此,讓我們通過刪除所有較小的元素來改進(jìn)提取,并將我們的注意力集中在大于某個(gè)面積的對(duì)象上。

使用 OpenCV 的cv2.drawContours函數(shù)繪制輪廓,我們得到了這個(gè)結(jié)果。

就本教程而言,分析整個(gè)窗口并不重要。我們只對(duì)計(jì)算在某個(gè)點(diǎn)通過的所有車輛感興趣,因此,我們必須定義一個(gè)感興趣的區(qū)域 ROI 并僅在該區(qū)域應(yīng)用mask。

結(jié)果可視化如下:

函數(shù) cv2.createBackgroundSubtractorMOG2 是在開始時(shí)添加的,沒有定義參數(shù),現(xiàn)在讓我們看看如何進(jìn)一步改進(jìn)我們的結(jié)果。history是第一個(gè)參數(shù),在這種情況下,它設(shè)置為 100,因?yàn)橄鄼C(jī)是固定的。varThreshold改為 40,因?yàn)樵撝翟降?,誤報(bào)的可能性就越大。在這種情況下,我們只對(duì)較大的對(duì)象感興趣。

在繼續(xù)處理矩形之前,我們對(duì)圖像進(jìn)行了進(jìn)一步的清理。為此,閾值函數(shù)就派上用場(chǎng)了。從我們的mask開始,我們告訴它我們只想顯示白色或黑色值,因此通過編寫254, 255,只會(huì)考慮 254 和 255 之間的值。

然后我們將找到的對(duì)象的坐標(biāo)插入到 if 條件中并繪制矩形

這是最終結(jié)果:

我們現(xiàn)在只需導(dǎo)入和集成跟蹤功能。

一旦創(chuàng)建了對(duì)象,我們必須獲取邊界框的每個(gè)位置并將它們插入到單個(gè)數(shù)組中。

通過在屏幕上顯示結(jié)果,您可以看到所有通過 ROI 的通道是如何被識(shí)別的,以及它們的位置是如何插入到特定的數(shù)組中的。顯然,識(shí)別的摩托車越多,我們的數(shù)組就越大。

現(xiàn)在讓我們將帶有位置的數(shù)組傳遞給tracker.update()。我們將再次獲得一個(gè)包含位置的數(shù)組,但此外,將為每個(gè)對(duì)象分配一個(gè)唯一的 ID。

從代碼中可以看出,我們可以使用 for 循環(huán)分析所有內(nèi)容。此時(shí)我們只需要繪制矩形并顯示車輛 ID。

在圖像中,您可以看到結(jié)果

main.py

從視頻中也可以看到,我們已經(jīng)獲得了我們?cè)诒窘坛涕_始時(shí)設(shè)置的結(jié)果。

但是,您必須將其視為練習(xí)或起點(diǎn),因?yàn)殛P(guān)于這個(gè)主題有很多話要說,而本教程的目的只是讓您了解對(duì)象跟蹤的原理。

如果你想將 Object Tracking 集成到你的項(xiàng)目中,你應(yīng)該使用更可靠和先進(jìn)的對(duì)象檢測(cè)方法,以及跟蹤方法。

完整代碼地址:私信“333”直接獲取或者「鏈接」

文章題目:python+函數(shù)追蹤 基于python的目標(biāo)跟蹤
文章出自:http://muchs.cn/article36/hjscpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、品牌網(wǎng)站建設(shè)虛擬主機(jī)、建站公司、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)