欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

樹(shù)莓派+攝像頭實(shí)現(xiàn)對(duì)移動(dòng)物體的檢測(cè)

 更新時(shí)間:2019年06月22日 09:56:36   作者:Wang哈哈  
這篇文章主要為大家詳細(xì)介紹了樹(shù)莓派+攝像頭實(shí)現(xiàn)對(duì)移動(dòng)物體的檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在上一篇文章中實(shí)現(xiàn)了樹(shù)莓派下對(duì)攝像頭的調(diào)用,有興趣的可以看一下:python+opencv實(shí)現(xiàn)攝像頭調(diào)用的方法

接下來(lái),我們將使用python+opencv實(shí)現(xiàn)對(duì)移動(dòng)物體的檢測(cè)

一、環(huán)境變量的配置

我們可以參照上一篇文章對(duì)我們的樹(shù)莓派進(jìn)行環(huán)境的配置

當(dāng)我們將cv2的庫(kù)安裝之后,就可以實(shí)現(xiàn)對(duì)攝像頭的操作

二、攝像頭的連接

在此實(shí)驗(yàn)中,我使用的為usb攝像頭

當(dāng)我們連接攝像頭之后,終端輸入

ls /dev/video*

如果終端提示如下:

則表示攝像頭連接成功

三、編碼實(shí)現(xiàn)對(duì)移動(dòng)物體的檢測(cè)

使用python編寫程序,實(shí)現(xiàn)對(duì)移動(dòng)物體的檢測(cè),代碼如下

#encoding=utf-8
import RPi.GPIO as GPIO
import cv2
import time
import os
 
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.OUT)
 
camera = cv2.VideoCapture(0)
if camera is None:
 print('please connect the camera')
 exit()
 
fps = 30 
pre_frame = None
 
led = False
 
while True:
 start = time.time()
 res, cur_frame = camera.read()
 if res != True:
 break
 end = time.time()
 seconds = end - start
 if seconds < 1.0/fps:
 time.sleep(1.0/fps - seconds)
 
 cv2.namedWindow('img',0);
 #cv2.imshow('img', cur_frame)
 key = cv2.waitKey(30) & 0xff
 if key == 27:
 break
 
 gray_img = cv2.cvtColor(cur_frame, cv2.COLOR_BGR2GRAY)
 gray_img = cv2.resize(gray_img, (500, 500))
 gray_img = cv2.GaussianBlur(gray_img, (21, 21), 0)
 
 if pre_frame is None:
 pre_frame = gray_img
 else:
 img_delta = cv2.absdiff(pre_frame, gray_img)
 thresh = cv2.threshold(img_delta, 25, 255, cv2.THRESH_BINARY)[1]
 thresh = cv2.dilate(thresh, None, iterations=2)
 
 contours, hierarchy = cv2.findContours(thresh.copy(),cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE)
 for c in contours:
  if cv2.contourArea(c) < 1000:
  continue
  else:
 (x,y,w,h) = cv2.boundingRect(c)
 cv2.rectangle(cur_frame,(x,y),(x+w,y+h),(0,255,0),2)
 
 print("something is moving!!!")
 led = True
 if led == True:
 for i in range(30):
 GPIO.output(18,GPIO.HIGH)
 time.sleep(0.03)
 GPIO.output(18,GPIO.LOW)
 time.sleep(0.03)
  break
 
 cv2.imshow('img', cur_frame) 
 pre_frame = gray_img
 
camera.release()
cv2.destroyAllWindows()

我的樹(shù)莓派終端不能顯示中文,因此會(huì)出現(xiàn)亂碼

Ubuntu下的運(yùn)行結(jié)果如下

樹(shù)莓派下執(zhí)行結(jié)果如下:

此外,在檢測(cè)物體移動(dòng)的同時(shí),添加了led閃爍以及框選移動(dòng)部分的功能,led安裝方法請(qǐng)移步之前的博客

文章參考鏈接:OpenCV檢測(cè)場(chǎng)景內(nèi)是否有移動(dòng)物體

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

相關(guān)文章

  • 如何取消pyecharts繪制地圖時(shí)默認(rèn)顯示小圓點(diǎn)標(biāo)識(shí)

    如何取消pyecharts繪制地圖時(shí)默認(rèn)顯示小圓點(diǎn)標(biāo)識(shí)

    這篇文章主要介紹了如何取消pyecharts繪制地圖時(shí)默認(rèn)顯示小圓點(diǎn)標(biāo)識(shí),文章內(nèi)容介紹詳細(xì)具有一定的參考價(jià)值?需要的小伙伴可以參考一下
    2022-04-04
  • python本地降級(jí)pip的方法步驟

    python本地降級(jí)pip的方法步驟

    高版本的pip在使用過(guò)程中會(huì)出現(xiàn)很多的不兼容問(wèn)題,而且不留神很容易把pip給升級(jí)了,下面這篇文章主要給大家介紹了關(guān)于python本地降級(jí)pip的方法步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • jupyter中如何打開(kāi).ipynb文件

    jupyter中如何打開(kāi).ipynb文件

    這篇文章主要介紹了jupyter中如何打開(kāi).ipynb文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 使用Python和百度語(yǔ)音識(shí)別生成視頻字幕的實(shí)現(xiàn)

    使用Python和百度語(yǔ)音識(shí)別生成視頻字幕的實(shí)現(xiàn)

    這篇文章主要介紹了使用Python和百度語(yǔ)音識(shí)別生成視頻字幕,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Flask框架配置與調(diào)試操作示例

    Flask框架配置與調(diào)試操作示例

    這篇文章主要介紹了Flask框架配置與調(diào)試操作,結(jié)合實(shí)例形式簡(jiǎn)單分析了flask框架配置管理與調(diào)試模式簡(jiǎn)單操作技巧,需要的朋友可以參考下
    2018-07-07
  • pygame實(shí)現(xiàn)方塊動(dòng)畫(huà)實(shí)例講解

    pygame實(shí)現(xiàn)方塊動(dòng)畫(huà)實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于pygame實(shí)現(xiàn)方塊動(dòng)畫(huà)實(shí)例講解內(nèi)容,以后需要的朋友們可以學(xué)習(xí)參考下。
    2021-12-12
  • python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例

    python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例

    今天小編就為大家分享一篇python3使用騰訊企業(yè)郵箱發(fā)送郵件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Python報(bào)錯(cuò):TypeError:?‘xxx‘?object?is?not?subscriptable解決辦法

    Python報(bào)錯(cuò):TypeError:?‘xxx‘?object?is?not?subscriptable解決

    這篇文章主要給大家介紹了關(guān)于Python報(bào)錯(cuò):TypeError:?‘xxx‘?object?is?not?subscriptable的解決辦法,TypeError是Python中的一種錯(cuò)誤,表示操作或函數(shù)應(yīng)用于不合適類型的對(duì)象時(shí)發(fā)生,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • Pytorch各種維度變換函數(shù)總結(jié)

    Pytorch各種維度變換函數(shù)總結(jié)

    本文對(duì)于PyTorch中的各種維度變換的函數(shù)進(jìn)行總結(jié),包括reshape()、view()、resize_()、transpose()、permute()、squeeze()、unsqeeze()、expand()、repeat()函數(shù)的介紹和對(duì)比,感興趣的可以了解一下
    2024-02-02
  • Python使用shutil模塊實(shí)現(xiàn)文件拷貝

    Python使用shutil模塊實(shí)現(xiàn)文件拷貝

    這篇文章主要介紹了Python使用shutil模塊實(shí)現(xiàn)文件拷貝,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論