重磅干貨,,第一時間送達(dá) Raspberry Pi 3 上的 OpenCV 運動檢測 這篇文章將解釋如何實現(xiàn)基本的運動檢測,這可以用于我們的基于觸發(fā)器的監(jiān)控系統(tǒng),。 OpenCV 是一個開源的計算機(jī)視覺庫,它的目標(biāo)是提供一個簡單易用的計算機(jī)視覺基礎(chǔ)設(shè)施,,幫助人們快速構(gòu)建復(fù)雜的應(yīng)用程序,。它包含 500 多項功能,涵蓋許多視覺領(lǐng)域,,包括工廠產(chǎn)品檢測,、醫(yī)學(xué)成像、安全,、用戶界面,、相機(jī)校準(zhǔn)、立體視覺和機(jī)器人技術(shù),。 — 學(xué)習(xí) OpenCV,,Gary Bradski 和 Adrian Kaehler,O'Reilly 我們指的是PiImageSearch安裝OpenCV的教程以及本文檔,。在開始安裝之前,,只需更新系統(tǒng)—sudo apt update 1.安裝庫和依賴項 $ sudo apt-get install libjpeg-dev libpng-dev libtiff-dev $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev $ sudo apt-get install libxvidcore-dev libx264-dev 2.安裝GTK(GUI后端) $ sudo apt-get install libgtk-3-dev $ sudo apt-get install libcanberra-gtk* 3. OpenCV的數(shù)值優(yōu)化 $ sudo apt-get install libatlas-base-dev gfortran 4. Python3 開發(fā)頭文件 $ sudo apt-get install python3.7-dev After installing to check if the dev files are installed in correct directory check using this command $ python3.7-config --includes -I/usr/include/python3.7m -I/usr/include/python3.7m The first path is expected and second is current path. If they are not the same then you need to perform a copy command to change the current path $ sudo cp /current/path/to/dev/file/pyconfig.h /usr/include/python3.7m pyconfig.h is the dev file that you need to copy to correct directory 5.安裝pip $ sudo apt-get install python3-pip If this won't work then use the following commands $ wget https://bootstrap./get-pip.py $ sudo python3 get-pip.py $ sudo apt autoremove If pip is already installed then make sure it's the latest version $ pip --version If not then - $ pip install --upgrade pip 6.虛擬環(huán)境 $ sudo pip install virtualenv virtualenvwrapper $ sudo rm -rf ~/get-pip.py ~/.cache/pip Update .bashrc to finish installing the tools, use nano or similar text editor - # virtualenv and virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh save and exit And finally create the virtual environment- $ mkvirtualenv cv -p python3 Verify if cv environment is working or not - $ workon cv (cv) pi@raspberrypi:~$ (cv) indicates that we are inside a virtual environment 7.其他庫 Install Numpy $ pip install numpy Install imutils $ pip install imutils 8.最后是 OpenCV 當(dāng)我們嘗試安裝 OpenCV 時,安裝需要花費大量時間,,即使反復(fù)嘗試安裝,,RasPi 仍然掛起。增加交換內(nèi)存讓我們在沒有內(nèi)存耗盡的情況下編譯 OpenCV,,Pi 不會掛起,。即使在增加交換內(nèi)存后,在我們的 Pi 3 上安裝也需要大約 5 小時,。 $ sudo nano /etc/dphys-swapfile Edit CONF_SWAPSIZE as CONF_SWAPSIZE=2048 保存并退出,,使用這些命令檢查交換內(nèi)存 。 $ free -m $ swapon -s 增加交換內(nèi)存只占用SD卡的空間,,所以增加交換內(nèi)存后只執(zhí)行OpenCV安裝,。 現(xiàn)在安裝 OpenCV $ pip install opencv-python $ pip install opencv-contrib-python // Ref. 裝完成后,將交換內(nèi)存恢復(fù)為原始值,。CONF_SWAPSIZE=100 驗證 OpenCV 是否安裝成功 : 驗證 OpenCV 安裝 我們使用 piimagesearch 的教程來實現(xiàn)基本的運動檢測,它提供了開源的代碼,,并且可以下載,。當(dāng)我在Pi上運行此代碼時,出現(xiàn)了此錯誤。 運行代碼時出錯 當(dāng)我搜索imshow功能時,,我明白代碼需要X-server才能運行,。因為我正在對我的 Pi 執(zhí)行 ssh,所以代碼沒有運行,。運行此命令使我可以在 ssh 期間訪問 X-server,。 ssh -Y pi@<IP> 然后我再次運行python代碼,我得到了這三個窗口—— 運行 piimagesearch 的 Python 代碼 根據(jù)教程,,代碼需要第一幀為空來檢測該區(qū)域是被占用還是未被占用,。 3個窗口分別是:
這段代碼非?;A(chǔ),正如我們所看到的,,即使框架中只有我,,代碼也會感應(yīng)其他運動,就像電風(fēng)扇的一片扇葉一樣,,并且有多個塊,,所以需要更多的邏輯來建立在它之上。 這個實現(xiàn)還幫助我們了解我們是否可以在像Raspberry Pi這樣的低規(guī)格系統(tǒng)中實現(xiàn) OpenCV,。盡管從介紹的 GIF 中可以看出,,響應(yīng)速度很慢,但這是運動檢測的基本演示,,我將在以后的文章中介紹更多用例,。 |
|
來自: 小白學(xué)視覺 > 《待分類》