python-opencv时间计算,视频物体追踪标记
程序運(yùn)行的時(shí)間計(jì)算
**# -*- coding: utf-8 -*- """ @author: Andrew """ import cv2 import numpy as np img=cv2.imread('tu.jpg') e1=cv2.getTickCount() for i in xrange(5,49,2):img=cv2.medianBlur(img,i) e2=cv2.getTickCount() time=(e2-e1)/cv2.getTickFrequency() //使用計(jì)數(shù)的數(shù)值除以計(jì)數(shù)的單位時(shí)間頻率,得到計(jì)數(shù)的時(shí)間 print time **OpenCV 中的很多函數(shù)都被優(yōu)化過(使用 SSE2,AVX 等)。也包含一些沒有被優(yōu)化的代碼。如果我們的系統(tǒng)支持優(yōu)化的話要盡量利用只一點(diǎn)。在編譯時(shí)優(yōu)化是被默認(rèn)開啟的。因此 OpenCV 運(yùn)行的就是優(yōu)化后的代碼,如果你把優(yōu)化關(guān)閉的話就只能執(zhí)行低效的代碼了。你可以使用函數(shù) cv2.useOptimized()來查看優(yōu)化是否被開啟了,使用函數(shù) cv2.setUseOptimized() 來開啟優(yōu)化。讓我們來看一個(gè)簡單的例子吧。
opencv中圖形處理
轉(zhuǎn)換顏色空間
在 OpenCV 中有超過 150 中進(jìn)行顏色空間轉(zhuǎn)換的方法。但是你以后就會發(fā)現(xiàn)我們經(jīng)常用到的也就兩種:BGR?Gray 和 BGR?HSV。我們要用到的函數(shù)是:cv2.cvtColor(input_image,flag),其中 flag就是轉(zhuǎn)換類型。對于 BGR?Gray 的轉(zhuǎn)換,我們要使用的 flag 就是 cv2.COLOR_BGR2GRAY。同樣對于 BGR?HSV 的轉(zhuǎn)換,我們用的 flag 就是 cv2.COLOR_BGR2HSV。你還可以通過下面的命令得到所有可用的 flag。
在 OpenCV 的 HSV 格式中,H(色彩/色度)的取值范圍是 [0,179],S(飽和度)的取值范圍 [0,255],V(亮度)的取值范圍 [0,255]。但是不同的軟件使用的值可能不同。所以當(dāng)你需要拿 OpenCV 的 HSV 值與其他軟件的 HSV 值進(jìn)行對比時(shí),一定要記得歸一化。
對藍(lán)色的物體實(shí)現(xiàn)追蹤并標(biāo)記,代碼如下
這是物體跟蹤中最簡單的方法。當(dāng)你學(xué)習(xí)了輪廓之后,你就會學(xué)到更多相關(guān)知識,那是你就可以找到物體的重心,并根據(jù)重心來跟蹤物體,僅僅在攝像頭前揮揮手就可以畫出同的圖形,或者其他更有趣的事。
總結(jié)
以上是生活随笔為你收集整理的python-opencv时间计算,视频物体追踪标记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【2016年第6期】数据产品在线定制平台
- 下一篇: python-opencv怎样找到要跟踪