Paano Mag-install ng OpenCV Sa Raspberry Pi?

Kailangan naming magsagawa ng iba't ibang mga pagpapatakbo sa isang imahe upang kumuha ng kapaki-pakinabang na impormasyon mula rito. Kaya, ang prosesong ito ng paglalapat ng iba't ibang mga algorithm sa isang imahe upang makuha ang nais na output ay tinatawag Pagpoproseso ng Larawan . Minsan, ang imahe sa input ay malabo at nais naming kumuha ng data mula rito. Halimbawa. Kapag ang mga magnanakaw ay dumating upang agawin ang bisikleta o kotse karamihan sa kanila ay sumakay sa bisikleta at ang mga overhead camera ay naka-install sa mga kalsada na kinunan ang kuha ng insidente. Kailangan nating malaman ang numero ng pagpaparehistro ng sasakyang iyon kung saan dumating ang mga tulisan at madali itong magagawa gamit ang ilang mga algorithm ng pagproseso ng imahe. Upang maisagawa ang pagproseso ng imahe sa ilang mga imahe, kailangan naming mag-install ng ilang mga aklatan sa hardware na ginagamit namin. Kabilang sa mga aklatan na iyon ang pinakamahalaga ay OpenCV. Maaaring mai-install ang OpenCV sa mga PC at microprocessor din. Ang Raspberry Pi ay isang microprocessor at ginagamit ito sa iba't ibang mga elektronikong proyekto. Matapos mai-install ang Operating System sa Raspberry Pi maaari tayong magsagawa ng iba't ibang mga gawain sa pagproseso ng imahe dito. Ang pag-install ng OpenCV sa Raspberry Pi ay isang mahaba at abalang gawain. Sa artikulong ito, matututunan natin kung paano i-install ang OpenCV sa Raspberry Pi para sa pagsasagawa nito ng iba't ibang mga pagpapatakbo ng pagproseso ng imahe dito.



Pagtuklas sa Mukha Na Naka-install ang OpenCV Sa Raspberry Pi

Paano Mag-setup ng Raspberry Pi At I-configure ang OpenCV Dito?

Ngayon, lumipat tayo patungo sa pag-set up ng Pi at gawin ang mga pagpapatakbo na nabanggit bilang sunud-sunod na hakbang upang mai-install ang OpenCV dito. Ang pag-install ng OpenCV sa Pi ay isang mahabang proseso at tumatagal ng halos 4 na oras upang makumpleto kaya kung mayroon kang kakulangan ng oras huwag simulan ang pag-install, sumangguni sa tutorial na ito kapag libre ka. Kasama nito Pi ay napainit kapag ito ay nai-on ON na para sa isang mahabang panahon at oras sa pagkuha ng mga operasyon ay ginanap dito kaya, itago ito sa isang cool na lugar kapag ginagawa mo ito.



Hakbang 1: Ginamit na Mga Bahagi

  • Raspberry Pi 3B + Kit
  • Telebisyon Sa HDMI Port
  • HDMI Cable
  • Wired Computer Mouse

Hakbang 2: Ang pagpili ng Modelong Raspberry Pi

Maraming mga modelo ng raspberry pi ang magagamit sa merkado. Maliban sa raspberry pi zero, ang anumang modelo ay maaaring mas gusto. Ito ay dahil sa Pi zero na pagse-set up ng isang network ay isang nakakapagod na trabaho. Ang mga pinakabagong modelo tulad ng 3A +, 3B + o 4 ay maaaring mabili. Ang bagong Raspberry Pi 3 ay ang pinakamabilis at pinaka nangingibabaw na gadget na pinakawalan ng Raspberry Pi Foundation hanggang ngayon. Kaya, sa proyektong ito, gagamitin namin ang Raspberry Pi 3B +.



Raspberry Pi 3B +



Hakbang 3: Pagkonekta sa Mga Peripheral

Matapos piliin ang Raspberry Pi ay ikonekta namin ang keyboard at mouse sa Raspberry Pi. Matapos ikonekta ang mga ito gamitin ang HDMI cable upang ikonekta ang Pi sa Telebisyon. Matapos gawin ang mga koneksyon na ito handa na kaming magpatuloy nang higit pa.

Hakbang 4: Pagpili ng Sistema ng Pagpapatakbo

Una, kakailanganin namin ang isang SD card na may naaangkop na operating system. Kapag pumipili ng OS, sa panahong ito mayroong iba't ibang mga kahalili, mula sa 'maginoo' na Raspbian hanggang sa nakatuon na mga balangkas na nagtatrabaho sa media, at maging ang Windows 10 IoT. Hindi na kailangan ng maraming mga aplikasyon samakatuwid, dapat nating iwanan ang Central Processing Unit (CPU) at Random Access Memory (RAM) hangga't maaari para sa application ng streaming ng media. Ang isang problema ay inirerekomenda ang Arch Linux para sa mga taong may maraming kaalaman sa Linux. Napakaharap ng mga ito at panatilihin kaming tumatakbo sa mga isyu kapag nagpapakilala ng mga application at aklatan ng third-party. Kaya, kung ito ang iyong unang pagtatatag ng isang home teatro, iminumungkahi namin ang pagpili Raspbian Lite . Ito ay hinihimok ng linya ng utos, at maaari nang walang labis na kahabaan na idinisenyo upang manatiling tumatakbo sa mode na 'walang ulo', ibig sabihin, na-access ang buong malayuan sa system nang walang kinakailangan para sa isang console o screen.

Raspbian Lite



Hakbang 5: Siguraduhin Na Ang Raspberry Pi Ay Napapanahon

Panatilihing napapanahon ang mga mapagkukunan ng iyong Pi kung hindi man, ang hindi napapanahong software ay magdudulot ng ilang mga problema. Paganahin ang manonood ng Virtual Network Computing (VNC) sa iyong Pi, pagkatapos ay ikonekta ang iyong Raspberry Pi sa manonood ng VNC. Ang link ay ibinigay sa ibaba para sa pag-download ng VNC at pagkatapos ay ikonekta ito sa Pi.

VNC Viewer

Ngayon, buksan ang terminal at patakbuhin ang sumusunod na utos:

sudo apt-get update

Pagkatapos,

sudo apt-get upgrade

Maraming mga pakete ang mai-install at kung tatanungin pindutin AT at pagkatapos Pasok upang mai-install nang maayos ang mga ito.

Hakbang 6: Mag-login Sa Raspberry Pi

Ang default username ng Raspberry Pi ay pi, at ang default na password ay prambuwesas Ito ang mga default na detalye sa pag-login at sa iyong unang pag-login gamitin ang mga detalyeng ito upang mag-log in sa pi. Maaari mo ring baguhin ang mga detalyeng ito kahit kailan mo gusto.

Mag-login Sa Raspberry Pi

Hakbang 7: Lumilikha ng Sapat na Puwang Sa Raspbian Para sa OpenCV

Nakakuha ang OpenCV ng malaking memorya kaya kailangan nating palawakin ang file system at ilalaan ang lahat ng puwang sa memory card. Pupunta kami sa command prompt ng raspberry at i-type ang sumusunod na utos:

sudo raspi-config

Lilitaw ang isang window at ganito ang magiging hitsura:

Tool sa Pag-configure

Ngayon, mag-click kami sa mga advanced na pagpipilian at doon makikita namin ang isang pagpipilian na 'Palawakin ang Filesystem'. Piliin ang opsyong iyon.

Palawakin ang Filesystem

Pipindutin natin ang Pasok pindutan at pagkatapos ay pindutin ang Tapos na pindutan Sa yugtong ito, ang aming Raspberry Pi ay kailangang i-reboot para magkabisa ang mga pagbabago. I-type ang sumusunod na utos upang i-reboot ito:

sudo reboot

Pagkatapos ng pag-reboot ay susuriin namin kung ang aming file system ay lumawak at ang lahat ng puwang ay kasama sa SD card o hindi. Sa pamamagitan ng pagpapatupad df -h utos maaari naming patunayan na ang aming disk ay lumawak:

Ang isa na gumagamit ng isang 8GB micro SD card ay maaaring gumagamit ng 50% ng magagamit na puwang, kaya't tinatanggal Wolfram Engine at LibreOffice maaaring magbakante sa paligid ng 1GB ng espasyo. (Tandaan na ang hakbang na ito ay opsyonal).

sudoapt-kumuha ka magliniswolfram-makina sudoapt-kumuha ka maglinislibreoffice* sudoapt-kumuha ka malinis sudoapt-kumuha ka autoremove

Hakbang 8: Pag-install ng Mga Depende

Bago pumunta at magtiwala kailangan naming i-update at i-upgrade ang mayroon nang mga pakete na naka-install sa Pi:

sudo apt-get update

Pagkatapos,

sudo apt-get upgrade

Ngayon, mag-i-install kami ng ilang mga tool sa pagbubuo na makakatulong sa amin sa pag-configure ng OpenCV build:

sudoapt-kumuha ka i-installmagtayo-mahalagacmakepkg-config

Upang maisagawa ang iba't ibang mga pagpapatakbo sa mga imahe kailangan namin upang mai-load ang maraming mga format ng imahe mula sa hard drive. Kasama sa mga format na iyon ang JPEG, PNG, atbp. Para sa paglo-load ng mga format ng imaheng ito, mai-install namin ang ilang mga I / O na pakete:

sudoapt-kumuha kai-installlibjpeg-devlibtiff5-devlibjasper-devlibpng12-dev

Kasabay ng mga larawang ito na I / O ay mag-i-install din kami ng mga video I / O na package. Matapos mai-install ang mga video package na ito magagawa naming mai-load ang iba't ibang mga format ng file ng video.

sudoapt-kumuha ka i-installlibavcodec-devlibavformat-devlibswscale-devlibv4l-dev sudoapt-kumuha ka i-installlibxvidcore-devlibx264-dev

Ang OpenCV library ay kasama ng isang sub-module na pinangalanan highgui na kung saan ay ginagamit upang ipakita ang mga larawan sa aming screen at paggawa ng mahahalagang GUI. Bago i-compile ang sub-module na iyon kailangan naming i-install ang GTK development library:

sudoapt-kumuha ka i-installlibgtk2.0-devlibgtk-3-dev

Maraming pagpapatakbo ng matrix ay maaaring gumanap sa isang imahe sa pamamagitan ng pagsuri sa laki ng imahe at pagkatapos ay basahin ang mga halaga ng pixel. Maaari din naming mai-convert ang mga halagang iyon ng pixel sa binary form at pagkatapos ay mabago ang mga binary digit upang mabuhay muli ang isang imahe. Sa raspberry pi, mayroon kaming ilang mga limitasyon kapag nagbibigay ng pag-input kung gayon ang mga aklatan na ito ay mahalaga at kailangang mai-install. Samakatuwid, ang mga resulta ay maaaring gawing mas mahusay sa pamamagitan ng pag-install ng ilang mga karagdagang dependency:

sudoapt-kumuha ka i-installlibatlas-base-devgfortran

Ang ilang mga tao ay nagtatrabaho sa Python 2.7 at ang ilan ay gagana sa Python 3. Ang mga header file ng Python 2.7 at Python 3 ay kailangang mai-install para sa pag-compile ng OpenCV kasama ang mga bind ng Python:

sudoapt-kumuha ka i-installsawa2.7-devsawa3-dev

Sa bagong bersyon ng Raspbian Python 3 ay naka-install na at maaaring lumitaw ang isang msg sa Lx Terminal na nagsasaad nito 'Ang Python 3 na ang pinakabagong bersyon' . Mahalaga ang hakbang na ito dahil maaari naming harapin ang error tungkol sa header file na pinangalanan bilang Python.h habang tumatakbo ang utos gumawa upang maiipon ang OpenCV.

Hakbang 9: Pag-download ng Source Code ng OpenCV

Dahil natapos na kami sa pag-install ng mga dependency hahanapin namin ang folder ng archive ng bersyon ng OpenCV na 3.3.0 mula sa opisyal na direktoryo ng OpenCV.

CD ~ wget -O kaya opencv.zip https://github.na may/Itseez/opencv/archive/3.3.0.zip i-unzipopencv.zip

Ini-install namin ang buong pakete ng OpenCV kaya kailangan naming isama opencv_contrib din. I-download ito mula sa opisyal na site at pagkatapos ay i-unzip ito.

wget -O kaya opencv_contrib.zip https://github.na may/Itseez/opencv_contrib/archive/3.3.0.zip i-unzipopencv_contrib.zip

Habang ang pagda-download ng mga direktoryo na ito ay isinasaisip ang bersyon ng OpenCV at opencv_contrib ay dapat na magkapareho dapat silang maging 3.3.0 kung hindi man magkakaroon ng pag-iipon ng mga pagkakamali sa panahon ng pag-install.

Hakbang 10: Python 2.7 o Python 3?

Ang maingat na pagganap ng sawa 2.7 ay mas mahusay kaysa sa sawa 3 ngunit sa OpenCV, walang gaanong pagkakaiba. Kailangan naming mag-install pip sa Raspberry bago isulat ang OpenCV. Ito ay isang sistema ng pamamahala ng package na ginagamit upang mai-install ang mga software packages na ginagamit sa Python. Ang mga package na ito ay maaaring naroroon sa pinakabagong raspbian bilang default ngunit mas mahusay na i-verify ito sa pamamagitan ng paggamit ng mga sumusunod na utos.

wgethttps://bootstrap.pypa.Ako/kumuha ka-pip.py sudosawakumuha ka-pip.py sudosawa3kumuha ka-pip.py

Matapos ang pag-install ng pip dalawang pakete ay lubos na inirerekomenda at kailangang mai-install habang nagtatrabaho sa OpenCV. Ang una ay virtualenv at ang pangalawa ay virtualenvwrapper. Hindi namin mai-import ang OpenCV nang direkta sa Python kaya't lilikha kami ng isang virtual na kapaligiran at pagkatapos ay gagana sa kapaligiran na iyon. Ang isang virtual na kapaligiran ay isang pambihirang tool na ginagamit upang mapanatili ang mga kundisyon na kinakailangan ng iba't ibang mga proyekto sa mga discrete na lugar sa pamamagitan ng paglikha ng magkakahiwalay na mga kapaligiran sa Python para sa bawat isa sa kanila.

sudopipi-installvirtualenvvirtualenvwrapper sudorm -rf ~/.cache/pip

Matapos mai-install ang mga package na ito kailangan naming i-update ang aming ~/.profile file na kung saan ay ang nakatagong file sa aming direktoryo sa bahay upang isama ang mga sumusunod na linya sa dulo nito. I-type ang sumusunod na utos upang ipasok ang direktoryo:

nano~/.profile

Kapag binuksan ang direktoryo mag-scroll pababa at may kasamang mga sumusunod na linya:

# virtualenv at virtualenvwrapper i-exportWORKON_HOME=$ BAHAY/.virtualenvs i-exportVIRTUALENVWRAPPER_PYTHON=/usr/am/sawa3 pinagmulan /usr/lokal/am/virtualenvwrapper.sh

Matapos isama ang mga linyang ito pindutin ang ctrl + x, i-save ito sa pamamagitan ng pagpindot AT at exit.

Direktoryo ng Bahay

Anumang oras na ilulunsad namin ang terminal at mag-log in sa aming Pi ang tuldok na file na ito ay awtomatikong mai-load para sa amin. Tulad ng naka-log in na, manu-mano kaming nagta-type mapagkukunan ~ / .profile upang mai-load ang mga nilalaman ng file.

Lumilikha ng Python Virtual na Kapaligiran: Kailangan naming lumikha ng isang virtual na kapaligiran gamit ang python 2.7 at python 3.

mkvirtualenvcv -p sawa2

Lilikha ito ng isang kapaligiran na pinangalanan cv sa Python 2.7. Ang sinumang nais na lumikha ng isang kapaligiran sa Python 3 ay dapat na mag-type ng utos na nabanggit sa ibaba:

mkvirtualenvcv -p sawa3

Pinapatunayan Na Nasa Kami Ang Kapaligiran ng Virtual na Pinangalanang Bilang 'cv': Kapag na-reboot namin ang pi hindi kami mananatili sa isang virtual na kapaligiran at kailangan naming mag-type ng dalawang utos na nabanggit sa ibaba upang pumunta sa virtual environment mode.

pinagmulan ~/.profile asikasuhin angcv

Ipinapahiwatig ng larawan sa ibaba na wala kami sa virtual environment mode:

LxTerminal

Kaya, sa pamamagitan ng pagta-type ng dalawang utos na nabanggit sa itaas ay maa-access namin ang aming virtual na kapaligiran. Kung nais naming iwanan ang virtual na kapaligiran ay i-type namin ang deactivate:

Nagtatrabaho sa Virtual na Kapaligiran

Pag-install ng NumPy Sa Raspbian: Ang tanging pagtitiwala na kailangan namin upang i-install ang OpenCV sa Raspberry ay Numpy. I-type ang utos na nabanggit sa ibaba upang mai-install ang Numpy sa Raspberry Pi. Ito ay humigit-kumulang 10 minuto upang mai-install:

pipi-installnumpy

Hakbang 11: Pag-iipon at Pag-install ng OpenCV

Susubukan at mai-install namin ang OpenCV sa Virtual na Kapaligiran kaya siguraduhin na nagtatrabaho ka sa CV virtual na kapaligiran. Kung wala tayo sa virtual na kapaligiran ang OpenCV ay mabibigo na mag-ipon. Ngayon, palitan ang direktoryo sa direktoryo sa bahay, sub-direktoryo buksan ang cv 3.3 at pagkatapos ay gawin ang direktoryo ng pagbuo. Matapos gawin ang direktoryo ng build i-paste ang huling limang mga linya sa CMake direktoryo Susuriin nito ang ilang mga aklatan na nagtakda ng mga landas, mga bersyon ng sawa, atbp.

CD ~/opencv-3.3.0/ mkdir magtayo CD magtayo cmake -D CMAKE_BUILD_TYPE=PALABAS  -D CMAKE_INSTALL_PREFIX=/usr/lokal  -D I-INSTALL_PYTHON_EXAMPLES=ON na  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/mga modyul  -D BUILD_EXAMPLES=ON na ..

Para sa mga gumagamit ng Python 2.7, kakailanganin nilang mag-scroll sa output ng CMake at hahanapin ang seksyon ng Python 2.7 at tingnan kung ang Numpy at mga landas ng mga pakete ay na-configure nang maayos. Para sa mga gumagamit ng Python 3 ay susuriin ang seksyon ng python 3 sa kanan sa ilalim ng seksyon ng Python 2:

Sinusuri ang Python 2.7 Seksyon

Ngayon, sa wakas handa na kaming mag-compile ng OpenCV. I-type ang gumawa ng utos at sisimulan nito ang proseso ng pagtitipon. Aabutin ng humigit-kumulang na apat na oras upang makatipon mula rito, ginustong masimulan ang pagtitipon bago ka matulog sa gabi upang sa gisingin mo sa umaga ang OpenCV ay naipon. Ang pagta-type ng isang utos na 'gumawa' ay magsusulat gamit ang isang core lamang. Bagaman medyo tumatagal ito ng proseso ngunit wala itong posibilidad na magkamali. Ang paggamit ng utos ng make -j4 at make -j2 ay maaaring magresulta sa sobrang pag-init ng Raspberry Pi at maaari rin itong magresulta sa mga pagkakamali sa pagtitipon:

gumawa

Kumpleto na ang pagtitipon

I-install namin ang OpenCV 3 sa Raspberry Pi sa pamamagitan ng paggamit ng sumusunod na utos. Ang pagpapatakbo ng utos na ito ay makopya ang kani-kanilang mga file sa kanilang mga lokasyon:

sudo gumawa ng pag-install

Ang aming pag-install ay makukumpleto sa pamamagitan ng pagpapatakbo ng huling utos na ito:

sudoldconfig

Ang isang pares ng mga hakbang ay natitira ngayon kapag gumagamit kami ng Python 2.7 o Python 3.

Hakbang 12: Tinatapos ang Pag-install

Bumalik sa direktoryo sa bahay sa pamamagitan ng pagta-type cd ~.

Python 3: Iko-link namin ang OpenCV bindings sa aming cv sa python 3 na direktoryo dahil pinagsama namin ang OpenCV at python bindings para sa python 3.

CD ~/.virtualenvs/cv/lib/sawa3.5/lugar-mga pakete/ ln -s /usr/lokal/lib/sawa3.5/lugar-mga pakete/cv2.kaya cv2.kaya

Ayan yun!. Ngayon, na-install na namin ang OpenCV papunta sa Raspberry Pi. Susuriin namin ito ngayon sa virtual na kapaligiran.

Hakbang 13: Pagsubok sa OpenCV

Buksan ang LxTerminal at isulat ang pinagmulan utos na sinundan ng asikasuhin ang utos Pagpasok namin sa mode ng virtual environment ay mai-import namin ang mga bind ng OpenCV sa pamamagitan ng pagta-type ng sawa at pagkatapos ay mag-import ng cv2. Kung walang error msg nangangahulugan ito na matagumpay itong na-import.

pinagmulan ~/.profile asikasuhin angcv sawa >>angkatcv2

Pagkatapos nito, susuriin namin ang aming bersyon ng OpenCV sa pamamagitan ng pagta-type ng sumusunod na utos:

cv2.__ bersyon__

Pagsubok]

Na-install namin ang OpenCV sa Raspberry 3B +. Ngayon ay makakagawa tayo ng maraming mga pagpapatakbo ng pagproseso ng imahe sa Python tulad ng Detalye ng Digit, Pagkilala sa Mukha, atbp.