亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python+opencv實現(xiàn)動態(tài)物體識別

 更新時間:2018年01月09日 11:08:28   作者:Tina_Wei  
這篇文章主要為大家詳細介紹了python+opencv實現(xiàn)動態(tài)物體識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下

注意:這種方法十分受光線變化影響

自己在家拿著手機瞎晃的成果圖:

源代碼:

# -*- coding: utf-8 -*- 
""" 
Created on Wed Sep 27 15:47:54 2017 
 
@author: tina 
""" 
import cv2 
import numpy as np 
 
camera = cv2.VideoCapture(0) # 參數(shù)0表示第一個攝像頭 
# 判斷視頻是否打開 
if (camera.isOpened()): 
  print('Open') 
else: 
  print('攝像頭未打開') 
 
# 測試用,查看視頻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() 
  # 對幀進行預處理,先轉灰度圖,再進行高斯濾波。 
  # 用高斯濾波進行模糊處理,進行處理的原因:每個輸入的視頻都會因自然震動、光照變化或者攝像頭本身等原因而產生噪聲。對噪聲進行平滑是為了避免在運動和跟蹤時將其檢測出來。 
  gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY) 
  gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0) 
 
  # 將第一幀設置為整個輸入的背景 
  if background is None: 
    background = gray_lwpCV 
    continue 
  # 對于每個從背景之后讀取的幀都會計算其與北京之間的差異,并得到一個差分圖(different map)。 
  # 還需要應用閾值來得到一幅黑白圖像,并通過下面代碼來膨脹(dilate)圖像,從而對孔(hole)和缺陷(imperfection)進行歸一化處理 
  diff = cv2.absdiff(background, gray_lwpCV) 
  diff = cv2.threshold(diff, 148, 255, cv2.THRESH_BINARY)[1] # 二值化閾值處理 
  diff = cv2.dilate(diff, es, iterations=2) # 形態(tài)學膨脹 
  # 顯示矩形框 
  image, contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 該函數(shù)計算一幅圖像中目標的輪廓 
  for c in contours: 
    if cv2.contourArea(c) < 1500: # 對于矩形區(qū)域,只顯示大于給定閾值的輪廓,所以一些微小的變化不會顯示。對于光照不變和噪聲低的攝像頭可不設定輪廓最小尺寸的閾值 
      continue 
    (x, y, w, h) = cv2.boundingRect(c) # 該函數(shù)計算矩形的邊界框 
    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() 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python基于雙向鏈表實現(xiàn)LFU算法

    python基于雙向鏈表實現(xiàn)LFU算法

    這篇文章主要為大家詳細介紹了python基于雙向鏈表實現(xiàn)LFU算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python浮點數(shù)四舍五入問題的分析與解決方法

    Python浮點數(shù)四舍五入問題的分析與解決方法

    這篇文章主要給大家介紹了關于Python中浮點數(shù)四舍五入問題的分析與解決方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • python Tornado框架詳解

    python Tornado框架詳解

    Tornado是一個 Python Web框架,用于開發(fā)高性能網絡應用程序,本文給大家詳細介紹python Tornado框架的相關知識,感興趣的朋友一起看看吧
    2024-03-03
  • 在python中路徑含有空格的問題及解決

    在python中路徑含有空格的問題及解決

    這篇文章主要介紹了在python中路徑含有空格的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python爬蟲學習筆記之Beautifulsoup模塊用法詳解

    python爬蟲學習筆記之Beautifulsoup模塊用法詳解

    這篇文章主要介紹了python爬蟲學習筆記之Beautifulsoup模塊用法,結合實例形式詳細分析了python爬蟲Beautifulsoup模塊基本功能、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • 詳解Python?Selenium如何獲取鼠標指向的元素

    詳解Python?Selenium如何獲取鼠標指向的元素

    這篇文章主要介紹了如何通過Selenium獲取當前鼠標指向的元素,本文方法的核心,是借助JavaScript的事件(event)來獲取鼠標所在的元素,感興趣的可以試一試
    2022-03-03
  • Django實現(xiàn)隨機圖形驗證碼的示例

    Django實現(xiàn)隨機圖形驗證碼的示例

    這篇文章主要介紹了Django實現(xiàn)隨機圖形驗證碼的示例,幫助大家更好的學習和使用django框架,感興趣的朋友可以了解下
    2020-10-10
  • Python設計模式之代理模式實例

    Python設計模式之代理模式實例

    這篇文章主要介紹了設計模式中的代理模式Python實例,需要的朋友可以參考下
    2014-04-04
  • 使用Python處理Excel文件并將數(shù)據(jù)存儲到PostgreSQL的方法

    使用Python處理Excel文件并將數(shù)據(jù)存儲到PostgreSQL的方法

    在日常工作中,我們經常會遇到需要處理大量文件并將數(shù)據(jù)存儲至數(shù)據(jù)庫或整合到一個文件的需求,本文將向大家展示如何使用Python處理Excel文件并將數(shù)據(jù)存儲到PostgreSQL數(shù)據(jù)庫中,需要的朋友可以參考下
    2024-01-01
  • python基于Pandas讀寫MySQL數(shù)據(jù)庫

    python基于Pandas讀寫MySQL數(shù)據(jù)庫

    這篇文章主要介紹了python基于Pandas讀寫MySQL數(shù)據(jù)庫,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04

最新評論