Bagaimana Memasang OpenCV Pada Raspberry Pi?

Kita perlu melakukan operasi yang berbeza pada gambar untuk mengekstrak maklumat berguna daripadanya. Jadi, proses ini menerapkan algoritma yang berbeza pada gambar untuk mendapatkan output yang diinginkan disebut Pemprosesan imej . Kadang-kadang, gambar pada input kabur dan kami ingin memperoleh data darinya. Sebagai contoh. Ketika perompak datang untuk merebut basikal atau kereta, mereka kebanyakannya menaiki basikal dan kamera overhead dipasang di jalan raya yang merakam rakaman kejadian. Kita perlu mengetahui nombor pendaftaran kenderaan itu di mana perompak datang dan ia dapat dilakukan dengan mudah menggunakan beberapa algoritma pemprosesan gambar. Untuk melakukan pemprosesan gambar pada gambar tertentu, kita perlu memasang beberapa perpustakaan pada perkakasan yang kita gunakan. Di antara perpustakaan itu yang paling penting adalah OpenCV. OpenCV juga boleh dipasang pada PC dan mikropemproses. Raspberry Pi adalah mikropemproses dan ia digunakan dalam pelbagai projek elektronik. Setelah memasang Sistem Operasi pada Raspberry Pi kita dapat melakukan pelbagai tugas pemprosesan gambar di atasnya. Memasang OpenCV pada Raspberry Pi adalah tugas yang panjang dan sibuk. Dalam artikel ini, kita akan belajar cara memasang OpenCV pada Raspberry Pi untuk melakukan operasi pemprosesan gambar yang berbeza di atasnya.



Pengesanan Muka Dengan OpenCV Dipasang Pada Raspberry Pi

Bagaimana Menyiapkan Raspberry Pi Dan Mengkonfigurasi OpenCV Di atasnya?

Sekarang, mari kita bergerak ke arah menyiapkan Pi dan melakukan operasi yang disebut sebagai langkah demi langkah untuk memasang OpenCV di atasnya. Memasang OpenCV pada Pi adalah proses yang panjang dan memerlukan masa sekitar 4 jam untuk diselesaikan, jadi jika anda kekurangan masa, jangan mulakan pemasangan, rujuk tutorial ini apabila anda bebas. Bersama dengan Pi ini dipanaskan apabila telah dihidupkan HIDUP untuk jangka masa yang panjang dan operasi pengambilan masa dilakukan di atasnya, simpanlah di tempat yang sejuk ketika anda mengusahakannya.



Langkah 1: Komponen yang Digunakan

  • Kit Raspberry Pi 3B +
  • Televisyen Dengan Port HDMI
  • Kabel HDMI
  • Tetikus Komputer Berwayar

Langkah 2: Memilih Model Raspberry Pi

Beberapa model pi raspberry tersedia di pasaran. Kecuali untuk raspberry pi zero, mana-mana model boleh disukai. Ini kerana pada Pi sifar menyiapkan rangkaian adalah pekerjaan yang sangat melelahkan. Model terbaru seperti 3A +, 3B + atau 4 boleh dibeli. Raspberry Pi 3 baru adalah alat terpantas dan paling dominan yang dilancarkan oleh Raspberry Pi Foundation sehingga kini. Jadi, dalam projek ini, kami akan menggunakan Raspberry Pi 3B +.



Raspberry Pi 3B +



Langkah 3: Menghubungkan Periferal

Setelah memilih Raspberry Pi kita akan menyambungkan papan kekunci dan tetikus ke Raspberry Pi. Setelah menyambungkannya, gunakan kabel HDMI untuk menyambungkan Pi dengan Televisyen. Setelah membuat sambungan ini, kami bersedia untuk terus maju.

Langkah 4: Memilih Sistem Operasi

Pertama, kita memerlukan kad SD dengan sistem operasi yang sesuai. Semasa memilih OS, pada masa ini terdapat pelbagai alternatif, dari Raspbian 'konvensional' hingga kerangka kerja media yang dikhaskan, dan bahkan Windows 10 IoT. Oleh itu, tidak perlu banyak aplikasi, kita harus meninggalkan Central Processing Unit (CPU) dan Random Access Memory (RAM) sebanyak mungkin untuk aplikasi streaming media. Salah satu masalahnya ialah Arch Linux disyorkan untuk orang yang mempunyai banyak pengetahuan mengenai Linux. Mereka adalah barisan depan dan kami pasti akan terus menghadapi masalah ketika memperkenalkan aplikasi dan perpustakaan pihak ketiga. Oleh itu, jika ini merupakan pertunjukan teater rumah pertama anda, kami sarankan memilih Raspbian Lite . Ini dikendalikan oleh baris perintah, dan dapat tanpa banyak peregangan yang dirancang untuk terus berjalan dalam mod 'tanpa kepala', yakni diakses sepenuhnya dari jarak jauh melalui sistem tanpa memerlukan konsol atau layar.

Raspbian Lite



Langkah 5: Pastikan Pi Raspberry Terkini

Pastikan sumber Pi anda diperbarui jika tidak, perisian yang sudah usang akan menyebabkan beberapa masalah. Aktifkan pemapar Virtual Network Computing (VNC) pada Pi anda, kemudian sambungkan Raspberry Pi anda dengan penampil VNC. Pautan disediakan di bawah untuk memuat turun VNC dan kemudian menghubungkannya dengan Pi.

Pemapar VNC

Sekarang, buka terminal dan jalankan arahan berikut:

sudo apt-get kemas kini

Kemudian,

sudo apt-get peningkatan

Banyak pakej akan dipasang dan jika diminta tekan DAN dan kemudian Masukkan untuk memasangnya dengan betul.

Langkah 6: Log Masuk ke Raspberry Pi

Nama pengguna lalai dari Raspberry Pi adalah pi, dan kata laluan lalai adalah raspberry. Ini adalah butiran log masuk lalai dan pada log masuk pertama anda gunakan butiran ini untuk log masuk ke pi. Anda juga boleh mengubah butiran ini bila-bila masa yang anda mahukan.

Masuk ke Raspberry Pi

Langkah 7: Menciptakan Ruang Yang Cukup Pada Raspbian Untuk OpenCV

OpenCV memperoleh memori yang besar sehingga kita perlu memperluas sistem fail dan memperuntukkan semua ruang ke kad memori. Kami akan pergi ke command prompt raspberry dan taipkan arahan berikut:

sudo raspi-config

Tetingkap akan muncul dan akan kelihatan seperti ini:

Alat Konfigurasi

Sekarang, kita akan mengklik pada pilihan Advanced dan di sana kita akan menjumpai pilihan 'Expand Filesystem'. Pilih pilihan itu.

Kembangkan Sistem Fail

Kami akan menekan Masukkan butang dan kemudian tekan Selesai butang. Pada peringkat ini, Pi Raspberry kami perlu dihidupkan semula agar perubahan dapat berlaku. Taipkan arahan berikut untuk rebootnya:

rebo sudo

Selepas reboot kami akan memeriksa sama ada sistem fail kami telah berkembang dan semua ruang termasuk dalam kad SD atau tidak. Dengan melaksanakan df -h perintah kami dapat mengesahkan bahawa cakera kami telah berkembang:

Orang yang menggunakan kad SD mikro 8GB mungkin menggunakan 50% ruang yang ada, jadi hapus Enjin Wolfram dan LibreOffice dapat mengosongkan ruang sekitar 1GB. (Ingat bahawa langkah ini adalah pilihan).

sudotepat-dapatkan membersihkanwolfram-enjin sudotepat-dapatkan membersihkanlibreoffice* sudotepat-dapatkan bersih sudotepat-dapatkan autoremove

Langkah 8: Memasang Ketergantungan

Sebelum pergi dan bergantung, kita perlu mengemas kini dan meningkatkan pakej yang ada yang dipasang di Pi:

sudo apt-get kemas kini

Kemudian,

sudo apt-get peningkatan

Sekarang, kami akan memasang beberapa alat pengembangan yang akan membantu kami dalam mengkonfigurasi OpenCV build:

sudotepat-dapatkan pasangmembina-pentingcmakepkg-konfigurasi

Untuk melakukan operasi yang berbeza pada gambar, kita perlu memuatkan beberapa format gambar dari cakera keras. Format tersebut merangkumi JPEG, PNG, dan lain-lain. Untuk memuatkan format gambar ini, kami akan memasang beberapa pakej I / O:

sudotepat-dapatkanpasanglibjpeg-penipulibtiff5-penipulibjasper-penipulibpng12-penipu

Bersama dengan pakej I / O gambar ini, kami juga akan memasang pakej I / O video. Setelah memasang pakej video ini, kita akan dapat memuatkan pelbagai format fail video.

sudotepat-dapatkan pasanglibavcodec-penipulibavformat-penipuskala libsw-penipulibv4l-penipu sudotepat-dapatkan pasanglibxvidcore-penipulibx264-penipu

Perpustakaan OpenCV menyertai sub-modul bernama highgui yang digunakan untuk menunjukkan gambar ke layar kami dan membuat GUI penting. Sebelum menyusun sub-modul itu, kita perlu memasang pustaka pengembangan GTK:

sudotepat-dapatkan pasanglibgtk2.0-penipulibgtk-3-penipu

Beberapa operasi matriks dapat dilakukan pada gambar dengan memeriksa ukuran gambar dan kemudian membaca nilai piksel. Kita juga boleh menukar nilai piksel tersebut ke dalam bentuk binari dan kemudian mengubah digit biner tersebut untuk menghasilkan semula gambar. Dalam raspberry pi, kami mempunyai beberapa batasan ketika memberikan input maka perpustakaan ini penting dan perlu dipasang. Oleh itu, hasil tersebut dapat dibuat lebih baik dengan memasang beberapa pergantungan tambahan:

sudotepat-dapatkan pasanglibatlas-pangkalan-penipugfortran

Sebilangan orang akan mengerjakan Python 2.7 dan ada yang mengusahakan Python 3. Fail header Python 2.7 dan Python 3 perlu dipasang untuk menyusun OpenCV bersama dengan ikatan Python:

sudotepat-dapatkan pasangular sawa2.7-penipuular sawa3-penipu

Dalam versi baru Raspbian Python 3 sudah terpasang dan msg mungkin muncul di Terminal Lx yang menyatakan bahawa 'Python 3 sudah menjadi versi terbaru' . Langkah ini penting kerana kita dapat menghadapi ralat mengenai fail tajuk yang dinamakan sebagai Python.h semasa menjalankan perintah membuat untuk menyusun OpenCV.

Langkah 9: Memuat turun Kod Sumber OpenCV

Setelah selesai memasang dependensi, kami akan mencari folder arkib OpenCV versi 3.3.0 dari direktori rasmi OpenCV.

CD ~ wget -ATAU terbuka.zip https://github.dengan/Itseez/terbuka/arkib/3.3.0.zip buka zipterbuka.zip

Kami memasang keseluruhan paket OpenCV jadi kami perlu memasukkannya opencv_contrib juga. Muat turunnya dari laman web rasmi dan kemudian buka zip.

wget -ATAU opencv_contrib.zip https://github.dengan/Itseez/opencv_contrib/arkib/3.3.0.zip buka zipopencv_contrib.zip

Semasa memuat turun direktori ini perlu diingat bahawa versi OpenCV dan opencv_contrib harus sama iaitu mereka harus 3.3.0 jika tidak, akan ada kesalahan menyusun semasa pemasangan.

Langkah 10: Python 2.7 atau Python 3?

Python 2.7 yang berprestasi lebih baik daripada python 3 tetapi di OpenCV, tidak banyak perbezaan. Kita perlu memasang pip pada Raspberry sebelum menyusun OpenCV. Ini adalah sistem pengurusan pakej yang digunakan untuk memasang pakej perisian yang digunakan di Python. Pakej ini mungkin terdapat dalam raspbian terbaru secara lalai tetapi lebih baik mengesahkannya dengan menggunakan arahan berikut.

wgethttps://tali kasut.pypa.I/dapatkan-pip.py sudoular sawadapatkan-pip.py sudoular sawa3dapatkan-pip.py

Selepas memasang pip dua pakej sangat disyorkan dan perlu dipasang semasa bekerja di OpenCV. Yang pertama adalah virtualenv dan yang kedua virtualenvwrapper. Kami tidak dapat mengimport OpenCV secara langsung di Python jadi kami akan mewujudkan persekitaran maya dan kemudian bekerja di persekitaran itu. Persekitaran maya adalah alat yang luar biasa yang digunakan untuk menjaga keadaan yang diperlukan oleh pelbagai projek di tempat yang berbeza dengan membuat persekitaran Python yang berasingan untuk setiap satu daripadanya.

sudopippasangvirtualenvvirtualenvwrapper sudorm -rf ~/.cache/pip

Selepas memasang pakej ini, kita perlu mengemas kini ~/.profil fail yang merupakan fail tersembunyi di direktori utama kami untuk memasukkan baris berikut di hujungnya. Ketik perintah berikut untuk memasuki direktori:

nano~/.profil

Apabila direktori dibuka tatal ke bawah dan sertakan baris berikut:

# virtualenv dan virtualenvwrapper eksportWORKON_HOME=$ RUMAH/.virtualenvs eksportVIRTUALENVWRAPPER_PYTHON=/usr/saya/ular sawa3 sumber /usr/tempatan/saya/virtualenvwrapper.sh

Setelah memasukkan baris ini tekan ctrl + x, simpan dengan menekan DAN dan keluar.

Direktori Rumah

Bila-bila masa kita melancarkan terminal dan kita masuk ke Pi kita, fail titik ini akan dimuat secara automatik untuk kita. Oleh kerana kami sudah log masuk kami akan menaip secara manual sumber ~ / .profil untuk memuatkan kandungan fail.

Membuat Persekitaran Maya Python: Kita perlu mewujudkan persekitaran maya menggunakan python 2.7 dan python 3.

mkvirtualenvCV -hlm ular sawa2

Ia akan mewujudkan persekitaran yang dinamakan CV pada Python 2.7. Sesiapa yang ingin membuat persekitaran di Python 3 harus menaip arahan yang disebutkan di bawah:

mkvirtualenvCV -hlm ular sawa3

Mengesahkan bahawa Kita Berada di Lingkungan Maya yang Dinamakan Sebagai 'cv': Apabila kita menghidupkan semula pi, kita tidak akan kekal dalam persekitaran maya dan kita perlu memasukkan dua arahan yang disebutkan di bawah untuk masuk ke mod persekitaran maya.

sumber ~/.profil bekerja padaCV

Gambar di bawah menunjukkan bahawa kita tidak berada dalam mod persekitaran maya:

LxTerminal

Oleh itu, dengan menaip dua arahan yang disebutkan di atas, kita akan dapat mengakses persekitaran maya kita. Sekiranya kita mahu meninggalkan persekitaran maya, kita akan menaip dinyahaktifkan:

Bekerja Dalam Persekitaran Maya

Memasang NumPy On Raspbian: Satu-satunya kebergantungan yang perlu kita pasang OpenCV pada Raspberry adalah Numpy. Taipkan arahan yang disebutkan di bawah untuk memasang Numpy pada Raspberry Pi. Lebih kurang 10 minit untuk memasang:

pippasangkekenyangan

Langkah 11: Menyusun dan Memasang OpenCV

Kami akan menyusun dan memasang OpenCV di Persekitaran Maya jadi pastikan bahawa anda menggunakan persekitaran maya CV. Sekiranya kita tidak berada di persekitaran maya OpenCV akan gagal menyusun. Sekarang, ubah direktori ke direktori utama, sub-direktori buka cv 3.3 dan kemudian buat direktori bina. Setelah membuat direktori build tampal lima baris terakhir di CMake direktori. Ia akan memeriksa jalan set perpustakaan tertentu, versi python, dll.

CD ~/terbuka-3.3.0/ mkdir membina CD membina cmake -D CMAKE_BUILD_TYPE=SIARAN  -D CMAKE_INSTALL_PREFIX=/usr/tempatan  -D INSTALL_PYTHON_EXAMPLES=HIDUP  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modul  -D BUAT_EXAMPLES=HIDUP ..

Bagi mereka yang menggunakan Python 2.7, mereka perlu menatal ke output CMake dan akan mencari bahagian Python 2.7 dan melihat apakah Numpy dan jalur pakej dikonfigurasi dengan betul. Bagi mereka yang menggunakan Python 3 akan memeriksa bahagian python 3 betul-betul di bawah bahagian Python 2:

Memeriksa Bahagian Python 2.7

Sekarang, kita akhirnya bersedia untuk menyusun OpenCV. Ketik perintah make dan ia akan memulakan proses penyusunan. Anda akan memerlukan kira-kira empat jam untuk menyusunnya, lebih disukai untuk memulakan penyusunan sebelum anda tidur pada waktu malam sehingga ketika anda bangun di pagi hari, OpenCV disusun. Menaip satu perintah 'make' akan menyusun hanya menggunakan satu inti. Walaupun prosesnya agak memakan masa tetapi kurang kemungkinan kesalahan. Menggunakan perintah make -j4 dan make -j2 dapat mengakibatkan terlalu panasnya Raspberry Pi dan juga dapat menyebabkan kesalahan kompilasi:

membuat

Penyusunan Lengkap

Kami akan memasang OpenCV 3 pada Raspberry Pi dengan menggunakan arahan berikut. Menjalankan perintah ini akan menyalin fail masing-masing ke lokasi mereka:

sudo buat pasang

Pemasangan kami akan selesai dengan menjalankan perintah akhir ini:

sudoldconfig

Tinggal beberapa langkah lagi ketika kita menggunakan Python 2.7 atau Python 3.

Langkah 12: Selesaikan Pemasangan

Kembali ke direktori utama dengan menaip cd ~.

Python 3: Kami akan memautkan ikatan OpenCV ke dalam cv kami dalam direktori python 3 kerana kami menyusun ikatan OpenCV dan python untuk python 3.

CD ~/.virtualenvs/CV/lib/ular sawa3.5/tapak-pakej/ ln -s /usr/tempatan/lib/ular sawa3.5/tapak-pakej/cv2.jadi cv2.jadi

Itu sahaja !. Sekarang, kami telah memasang OpenCV ke Raspberry Pi. Kami sekarang akan memeriksanya di persekitaran maya.

Langkah 13: Menguji OpenCV

Buka LxTerminal dan tulis sumber arahan diikuti oleh bekerja pada arahan. Semasa kita memasuki mod persekitaran maya, kita akan mengimport pengikat OpenCV dengan mengetik python dan kemudian mengimport cv2. Sekiranya tidak ada ralat, ini bermakna ia berjaya diimport.

sumber ~/.profil bekerja padaCV ular sawa >>mengimportcv2

Selepas itu, kami akan memeriksa versi OpenCV kami dengan mengetik arahan berikut:

cv2.__ versi__

Ujian]

Kami telah memasang OpenCV pada Raspberry 3B +. Sekarang kita dapat melakukan banyak operasi pemprosesan gambar di Python seperti Digit Detection, Face Recognition, dll.