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

Python+OpenCV目標(biāo)跟蹤實(shí)現(xiàn)基本的運(yùn)動(dòng)檢測(cè)

 更新時(shí)間:2018年07月10日 14:19:12   作者:零尾  
這篇文章主要為大家詳細(xì)介紹了Python+OpenCV目標(biāo)跟蹤實(shí)現(xiàn)基本的運(yùn)動(dòng)檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

目標(biāo)跟蹤是對(duì)攝像頭視頻中的移動(dòng)目標(biāo)進(jìn)行定位的過(guò)程,有著非常廣泛的應(yīng)用。實(shí)時(shí)目標(biāo)跟蹤是許多計(jì)算機(jī)視覺(jué)應(yīng)用的重要任務(wù),如監(jiān)控、基于感知的用戶(hù)界面、增強(qiáng)現(xiàn)實(shí)、基于對(duì)象的視頻壓縮以及輔助駕駛等。

有很多實(shí)現(xiàn)視頻目標(biāo)跟蹤的方法,當(dāng)跟蹤所有移動(dòng)目標(biāo)時(shí),幀之間的差異會(huì)變的有用;當(dāng)跟蹤視頻中移動(dòng)的手時(shí),基于皮膚顏色的均值漂移方法是最好的解決方案;當(dāng)知道跟蹤對(duì)象的一方面時(shí),模板匹配是不錯(cuò)的技術(shù)。

本文代碼是做一個(gè)基本的運(yùn)動(dòng)檢測(cè)

考慮的是“背景幀”與其它幀之間的差異

這種方法檢測(cè)結(jié)果還是挺不錯(cuò)的,但是需要提前設(shè)置背景幀,如果是在室外,光線的變化就會(huì)引起誤檢測(cè),還是很有局限性的。

import cv2
import numpy as np

camera = cv2.VideoCapture(0) # 參數(shù)0表示第一個(gè)攝像頭
# 判斷視頻是否打開(kāi)
if (camera.isOpened()):
  print('Open')
else:
  print('攝像頭未打開(kāi)')

# 測(cè)試用,查看視頻size
size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)),
    int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print('size:'+repr(size))

es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))
kernel = np.ones((5, 5), np.uint8)
background = None

while True:
  # 讀取視頻流
  grabbed, frame_lwpCV = camera.read()
  # 對(duì)幀進(jìn)行預(yù)處理,先轉(zhuǎn)灰度圖,再進(jìn)行高斯濾波。
  # 用高斯濾波進(jìn)行模糊處理,進(jìn)行處理的原因:每個(gè)輸入的視頻都會(huì)因自然震動(dòng)、光照變化或者攝像頭本身等原因而產(chǎn)生噪聲。對(duì)噪聲進(jìn)行平滑是為了避免在運(yùn)動(dòng)和跟蹤時(shí)將其檢測(cè)出來(lái)。
  gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY)
  gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)

  # 將第一幀設(shè)置為整個(gè)輸入的背景
  if background is None:
    background = gray_lwpCV
    continue
  # 對(duì)于每個(gè)從背景之后讀取的幀都會(huì)計(jì)算其與北京之間的差異,并得到一個(gè)差分圖(different map)。
  # 還需要應(yīng)用閾值來(lái)得到一幅黑白圖像,并通過(guò)下面代碼來(lái)膨脹(dilate)圖像,從而對(duì)孔(hole)和缺陷(imperfection)進(jìn)行歸一化處理
  diff = cv2.absdiff(background, gray_lwpCV)
  diff = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1] # 二值化閾值處理
  diff = cv2.dilate(diff, es, iterations=2) # 形態(tài)學(xué)膨脹

  # 顯示矩形框
  image, contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 該函數(shù)計(jì)算一幅圖像中目標(biāo)的輪廓
  for c in contours:
    if cv2.contourArea(c) < 1500: # 對(duì)于矩形區(qū)域,只顯示大于給定閾值的輪廓,所以一些微小的變化不會(huì)顯示。對(duì)于光照不變和噪聲低的攝像頭可不設(shè)定輪廓最小尺寸的閾值
      continue
    (x, y, w, h) = cv2.boundingRect(c) # 該函數(shù)計(jì)算矩形的邊界框
    cv2.rectangle(frame_lwpCV, (x, y), (x+w, y+h), (0, 255, 0), 2)

  cv2.imshow('contours', frame_lwpCV)
  cv2.imshow('dis', diff)

  key = cv2.waitKey(1) & 0xFF
  # 按'q'健退出循環(huán)
  if key == ord('q'):
    break
# When everything done, release the capture
camera.release()
cv2.destroyAllWindows()

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

相關(guān)文章

  • Python 發(fā)送SMTP郵件的簡(jiǎn)單教程

    Python 發(fā)送SMTP郵件的簡(jiǎn)單教程

    SMTP(Simple Mail Transfer Protocol)簡(jiǎn)單郵件傳輸協(xié)議,Python內(nèi)置對(duì)SMTP的支持,可以發(fā)送純文本文件,HTML郵件以及附帶文件。本文講解如何使用python發(fā)送郵件
    2021-06-06
  • Python性能分析工具Profile使用實(shí)例

    Python性能分析工具Profile使用實(shí)例

    這篇文章主要介紹了Python性能分析工具Profile使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python使用Tkinter實(shí)現(xiàn)機(jī)器人走迷宮

    Python使用Tkinter實(shí)現(xiàn)機(jī)器人走迷宮

    這篇文章主要為大家詳細(xì)介紹了Python使用Tkinter實(shí)現(xiàn)機(jī)器人走迷宮,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python手機(jī)與電腦游戲腳本的編寫(xiě)方法

    Python手機(jī)與電腦游戲腳本的編寫(xiě)方法

    本文給大家分享一個(gè)手機(jī)和電腦雙平臺(tái)的游戲腳本,幫助大家贏得游戲,步驟很簡(jiǎn)單,下面小編給大家分享基于Python游戲腳本的編寫(xiě)方法,感興趣的朋友一起看看吧
    2021-11-11
  • 解決python路徑錯(cuò)誤,運(yùn)行.py文件,找不到路徑的問(wèn)題

    解決python路徑錯(cuò)誤,運(yùn)行.py文件,找不到路徑的問(wèn)題

    這篇文章主要介紹了解決python路徑錯(cuò)誤,運(yùn)行.py文件,找不到路徑的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python 如何求矩陣的逆

    Python 如何求矩陣的逆

    這篇文章主要介紹了Python 如何求矩陣的逆案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python的Tornado框架異步編程入門(mén)實(shí)例

    Python的Tornado框架異步編程入門(mén)實(shí)例

    這篇文章主要介紹了Python的Tornado框架異步編程入門(mén)實(shí)例,異步編程的思維與普通編程比起來(lái)有些不同,需要的朋友可以參考下
    2015-04-04
  • Python讀寫(xiě)mat文件操作指南(使用scipy.io)

    Python讀寫(xiě)mat文件操作指南(使用scipy.io)

    Matlab是一個(gè)非常好用的矩陣計(jì)算分析軟件,然而隨著深度學(xué)習(xí)的發(fā)展,Python語(yǔ)言也逐漸成為人們的常用編程語(yǔ)言,這篇文章主要給大家介紹了關(guān)于Python使用scipy.io讀寫(xiě)mat文件的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • 使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描的案例分析

    使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描的案例分析

    這篇文章主要介紹了使用bandit對(duì)目標(biāo)python代碼進(jìn)行安全函數(shù)掃描,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 用Python的Turtle制作自己的星空

    用Python的Turtle制作自己的星空

    這篇文章主要介紹了用Python的Turtle制作自己的星空,本文用了turtle繪圖包,是一款非常強(qiáng)大的內(nèi)置包,需要的朋友可以參考下
    2023-04-04

最新評(píng)論

象山县| 沂水县| 瑞丽市| 广南县| 阳山县| 博兴县| 陕西省| 垦利县| 沾益县| 乐陵市| 兴宁市| 沁源县| 满洲里市| 琼结县| 临安市| 东丰县| 肇庆市| 庆元县| 堆龙德庆县| 禄丰县| 化德县| 彝良县| 安远县| 芒康县| 康保县| 济南市| 漾濞| 平武县| 达拉特旗| 常州市| 伽师县| 松潘县| 健康| 博爱县| 镇江市| 察隅县| 平定县| 定南县| 积石山| 东城区| 望谟县|