亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python+opencv怎么實現動態物體識別

發布時間:2021-06-11 14:03:06 來源:億速云 閱讀:343 作者:小新 欄目:開發技術

這篇文章主要介紹python+opencv怎么實現動態物體識別,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

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

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

python+opencv怎么實現動態物體識別python+opencv怎么實現動態物體識別python+opencv怎么實現動態物體識別python+opencv怎么實現動態物體識別

源代碼:

# -*- coding: utf-8 -*- 
""" 
Created on Wed Sep 27 15:47:54 2017 
 
@author: tina 
""" 
import cv2 
import numpy as np 
 
camera = cv2.VideoCapture(0) # 參數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) # 形態學膨脹 
  # 顯示矩形框 
  image, contours, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 該函數計算一幅圖像中目標的輪廓 
  for c in contours: 
    if cv2.contourArea(c) < 1500: # 對于矩形區域,只顯示大于給定閾值的輪廓,所以一些微小的變化不會顯示。對于光照不變和噪聲低的攝像頭可不設定輪廓最小尺寸的閾值 
      continue 
    (x, y, w, h) = cv2.boundingRect(c) # 該函數計算矩形的邊界框 
    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'健退出循環 
  if key == ord('q'): 
    break 
# When everything done, release the capture 
camera.release() 
cv2.destroyAllWindows()

以上是“python+opencv怎么實現動態物體識別”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

色达县| 西丰县| 家居| 佛山市| 房山区| 板桥市| 尤溪县| 岳西县| 黑龙江省| 铜陵市| 天水市| 密山市| 文山县| 蓬莱市| 桐庐县| 大英县| 武邑县| 平安县| 固原市| 芜湖市| 淅川县| 仁布县| 苗栗县| 东光县| 陆丰市| 阆中市| 田林县| 雷波县| 云阳县| 长沙市| 江西省| 铜川市| 尚志市| 共和县| 泌阳县| 乐至县| 长葛市| 望奎县| 山丹县| 江阴市| 合江县|