最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

OpenCV3.0+Python3.6實現(xiàn)特定顏色的物體追蹤

 更新時間:2019年07月23日 10:13:12   作者:qq_20156437  
這篇文章主要為大家詳細介紹了OpenCV3.0+Python3.6實現(xiàn)特定顏色的物體追蹤,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、環(huán)境

win10、Python3.6、OpenCV3.x;編譯器:pycharm5.0.3

二、實現(xiàn)目標(biāo)

根據(jù)需要追蹤的物體顏色,設(shè)定閾值,在視頻中框選出需要追蹤的物體。

三、實現(xiàn)步驟

1)根據(jù)需要追蹤的物體顏色,設(shè)定顏色閾值,獲取追蹤物體的掩膜

代碼:generate_threshold.py

# -*- coding : utf-8 -*-
# Author: Tom Yu
import cv2
import numpy as np
 
cap = cv2.VideoCapture(0)#獲取攝像頭圖像
# img = cv2.imread("timg1.jpg")
# hsv_img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
 
def nothing(x):
  pass
def createbars():
  """
  實現(xiàn)創(chuàng)建六個滑塊的作用,分別控制H、S、V的最高值與最低值
  """
  cv2.createTrackbar("H_l","image",0,180,nothing)
  cv2.createTrackbar("H_h","image",0,180,nothing)
  cv2.createTrackbar("S_l","image",0,255,nothing)
  cv2.createTrackbar("S_h","image",0,255,nothing)
  cv2.createTrackbar("V_l","image",0,255,nothing)
  cv2.createTrackbar("V_h","image",0,255,nothing)
cv2.namedWindow("image")
createbars()#創(chuàng)建六個滑塊
 
lower = np.array([0,0,0])#設(shè)置初始值
upper = np.array([0,0,0])
while True:
  ret,frame = cap.read()
  hsv_frame = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)#將圖片由BGR顏色空間轉(zhuǎn)化成HSV空間,HSV可以更好地分割顏色圖形
  lower[0]=cv2.getTrackbarPos("H_l","image")#獲取"H_l"滑塊的實時值
  upper[0]=cv2.getTrackbarPos("H_h","image")#獲取"H_h"滑塊的實時值
  lower[1]=cv2.getTrackbarPos("S_l","image")
  upper[1]=cv2.getTrackbarPos("S_h","image")
  lower[2]=cv2.getTrackbarPos("V_l","image")
  upper[2]=cv2.getTrackbarPos("V_h","image")
 
  mask = cv2.inRange(hsv_frame,lower,upper)#cv2.inrange()函數(shù)通過設(shè)定的最低、最高閾值獲得圖像的掩膜
  cv2.imshow("img",frame)
  cv2.imshow("mask",mask)
  if cv2.waitKey(1)&0xff == 27:
    break
 
cv2.destroyAllWindows()

實現(xiàn)效果:獲取需要追蹤的物體顏色閾值

2)根據(jù)獲取到的閾值,設(shè)定閾值范圍,在視頻中追蹤特定顏色的物體并用框選框出所需追蹤的物體

代碼:tracking_object.py

# -*- coding : utf-8 -*-
# Author: Tom Yu
import cv2
import numpy as np
 
cap = cv2.VideoCapture(0)#獲取攝像頭視頻
 
while True:
  ret,frame = cap.read()#讀取每一幀圖片
  hsv_frame = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)#將每一幀圖片轉(zhuǎn)化HSV空間顏色
  """
  依據(jù)之前的腳本獲取的閾值設(shè)置最高值與最低值
  """
  lower = np.array([0,104,205])
  upper = np.array([15,208,255])
 
  mask = cv2.inRange(hsv_frame,lower,upper)
  img,conts,hier = cv2.findContours(mask,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)#找出邊界
  cv2.drawContours(frame,conts,-1,(0,255,0),3)#畫出邊框
  dst = cv2.bitwise_and(frame,frame,mask=mask)#對每一幀進行位與操作,獲取追蹤圖像的顏色
  #cv2.imshow("mask",mask)
  #cv2.imshow("dst",dst)
  cv2.imshow("frame",frame)
  if cv2.waitKey(1)&0xff == 27:
    break
 
cv2.destroyAllWindows()

實現(xiàn)效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 人臉識別實戰(zhàn)之Opencv+SVM實現(xiàn)人臉識別

    人臉識別實戰(zhàn)之Opencv+SVM實現(xiàn)人臉識別

    這篇文章主要介紹了通過Opencv+SVM實現(xiàn)人臉識別功能,文中的示例代碼介紹詳細,對于我們學(xué)習(xí)人臉識別和OpenCV都有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下
    2021-12-12
  • Python MySQLdb 執(zhí)行sql語句時的參數(shù)傳遞方式

    Python MySQLdb 執(zhí)行sql語句時的參數(shù)傳遞方式

    這篇文章主要介紹了Python MySQLdb 執(zhí)行sql語句時的參數(shù)傳遞方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 深入淺析Pytorch中stack()方法

    深入淺析Pytorch中stack()方法

    這篇文章主要介紹了Pytorch中stack()方法的總結(jié)及理解,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • Python 3 中使用 Memcached的示例詳解

    Python 3 中使用 Memcached的示例詳解

    pymemcache是另一個流行的、功能豐富的Python Memcached客戶端庫,比python-memcached提供了復(fù)雜的操作和性能,在 Python3 中,使用 Memcached,高性能的分布式內(nèi)存對象緩存系統(tǒng),可以通過多個第三方庫來實現(xiàn),本文介紹Python 使用 Memcached相關(guān)知識,感興趣的朋友一起看看吧
    2024-02-02
  • pandas按某列降序的實現(xiàn)

    pandas按某列降序的實現(xiàn)

    本文主要介紹了pandas按某列降序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • python join方法使用詳解

    python join方法使用詳解

    這篇文章主要介紹了python join方法使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • python中的__slots__使用示例

    python中的__slots__使用示例

    這篇文章主要介紹了python中的__slots__使用示例,__slots__用來限制class能添加的屬性,需要的朋友可以參考下
    2015-02-02
  • python數(shù)據(jù)庫操作指南之PyMysql使用詳解

    python數(shù)據(jù)庫操作指南之PyMysql使用詳解

    PyMySQL是在Python3.x版本中用于連接MySQL服務(wù)器的一個庫,Python2 中則使用mysqldb,下面這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)庫操作指南之PyMysql使用的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 教你使用Python?的?Template?類生成文件報告

    教你使用Python?的?Template?類生成文件報告

    這篇文章主要介紹了用?Python?的?Template?類生成文件報告,在閱讀本文時,您不僅學(xué)習(xí)了Python字符串的基本知識,Template類以及使用它的原因,而且還實現(xiàn)了第一個文件報告腳本,需要的朋友可以參考下
    2022-08-08
  • Python簡單實現(xiàn)安全開關(guān)文件的兩種方式

    Python簡單實現(xiàn)安全開關(guān)文件的兩種方式

    這篇文章主要介紹了Python簡單實現(xiàn)安全開關(guān)文件的兩種方式,涉及Python的try語句針對錯誤的判定與捕捉相關(guān)技巧,需要的朋友可以參考下
    2016-09-09

最新評論

环江| 应用必备| 文山县| 五河县| 扶风县| 南宫市| 石屏县| 墨脱县| 开阳县| 新密市| 景德镇市| 鄂尔多斯市| 信丰县| 奉新县| 来凤县| 鸡西市| 海城市| 牟定县| 南平市| 巨鹿县| 衡阳市| 涿鹿县| 修文县| 隆尧县| 双流县| 鄂尔多斯市| 临沧市| 文水县| 浏阳市| 临夏市| 宜州市| 微山县| 子长县| 宿州市| 卫辉市| 北辰区| 临安市| 鄄城县| 新化县| 重庆市| 镇康县|