黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

python opencv3 目標(biāo)跟蹤 8.1

系統(tǒng) 2179 0
            
              
#最基本的運(yùn)動(dòng)檢測(cè)  計(jì)算幀之間的差異,或者考慮背景幀與其他幀之間的差異
import cv2
import numpy as np

camera = cv2.VideoCapture(0) # 參數(shù)0表示第一個(gè)攝像頭
# 判斷視頻是否打開

if (camera.isOpened()):
    print('Open')
else:
    print('攝像頭未打開')

# 測(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è)出來。
    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)用閾值來得到一幅黑白圖像,并通過下面代碼來膨脹(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()

            
          

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論