Ubuntu 18.04: Cara Menginstal OpenCV - PyImageSearch



Dalam posting blog ini Anda akan belajar cara menginstal OpenCV di Ubuntu 18.04.

Di masa lalu, saya telah menulis beberapa panduan instalasi untuk Ubuntu:

Ubuntu 16.04: Cara menginstal OpenCV dengan Python 2.7 dan Python 3.5+ Instal OpenCV 3.0 dan Python 2.7+ di Ubuntu Instal OpenCV 3.0 dan Python 3.4+ di Ubuntu - (dan pastikan untuk melihat halaman ini jika Anda mencari macOS dan Panduan instalasi Raspberry Pi)

Orang-orang di Canonical telah bekerja keras.

Pada tanggal 26 April 2018, mereka telah merilis versi Ubuntu Dukungan Jangka Panjang (LTS) baru untuk komunitas: Ubuntu 18.04 LTS (Bionic Beaver).

Dukungan untuk Ubuntu 16.04 LTS berlanjut hingga April 2021 jadi yakinlah - Anda tidak perlu memutakhirkan OS 16.04 Anda untuk terus mengerjakan proyek pemrosesan gambar Anda.

Yang mengatakan, jika Anda ingin memutakhirkan ke Ubuntu 18.04 dan menggunakan yang terbaru dan terbaik, saya pikir Anda akan cukup senang dengan perubahan baru di Ubuntu 18.04. Mari kita turun ke bisnis. Instal OpenCV dengan binding Python 3.

Untuk mempelajari cara menjalankan sistem Ubuntu 18.04 Anda dengan OpenCV, teruskan membaca.

Catatan: Meskipun Anda tidak akan melihat panduan khusus Ubuntu 17.10 di blog saya (non-LTS), petunjuk ini dapat bekerja dengan 17.10 (Anda hanya perlu melanjutkan dengan risiko Anda sendiri).

Ubuntu 18.04: Cara menginstal OpenCV

Satu perubahan besar di Ubuntu 18.04 adalah mereka telah menghapus Python 2.7 sepenuhnya.

Anda masih dapat menginstal Python 2.7 jika diperlukan, tetapi sekarang Python 3 adalah default pada OS. www.techking.id

Mengingat bahwa, panduan ini mendukung Python 3. Jika Anda memerlukan dukungan Python 2.7, baca seluruh panduan ini terlebih dahulu dan kemudian periksa pertanyaan pertama dari bagian Pemecahan Masalah instal Anda (FAQ) di dekat bagian bawah posting blog ini untuk beberapa petunjuk Python 2.7.

Langkah #0: Dapatkan kenyamanan - Anda akan menggunakan Python 3.6

Mari membiasakan diri dengan Python 3 di Ubuntu 18.04.

Untuk menjalankan Python 3 di Ubuntu 18. 04, Anda harus memanggil python3 secara eksplisit.

Mari kita lihat versi mana yang diinstal pada sistem kami:

Dan sekarang, mari kita luncurkan shell Python 3 hanya untuk menguji airnya:

Itu cukup mudah, jadi mari kita mulai menginstal OpenCV di Ubuntu 18.04.

Langkah #1: Instal dependensi OpenCV di Ubuntu 18.04

Semua langkah hari ini akan diselesaikan di terminal/baris perintah. Sebelum kita mulai, buka terminal atau sambungkan melalui SSH.

Dari sana, kita perlu me-refresh/memutakhirkan paket/library yang sudah diinstal sebelumnya dengan manajer paket apt-get:

Diikuti dengan menginstal alat pengembang:

Kemungkinan besar Anda sudah menginstal pkg-config di Ubuntu 18.04, tetapi pastikan untuk memasukkannya ke dalam perintah instal untuk kewarasan.

Selanjutnya, kita perlu menginstal beberapa prasyarat khusus OpenCV. OpenCV adalah perpustakaan pemrosesan gambar / visi komputer dan oleh karena itu harus dapat memuat format file gambar standar seperti JPEG, PNG, TIFF, dll. Paket I / O gambar berikut akan memungkinkan OpenCV untuk bekerja dengan file gambar:


Sekarang mari kita coba menginstal libjasper-dev:


Jika Anda menerima kesalahan tentang libjasper-dev yang hilang maka ikuti instruksi berikut:


jika tidak (atau sekali libjasper-dev diinstal), terus berjalan.


Selanjutnya, mari kita sertakan paket I / O video karena kita sering bekerja dengan video di blog pyImagesearch. Anda akan memerlukan paket-paket berikut sehingga Anda dapat bekerja dengan aliran kamera Anda dan memproses file video:


Modul HighGui OpenCV bergantung pada perpustakaan GTK untuk operasi GUI. Modul HighGui akan memungkinkan Anda untuk membuat GUI Elementary yang menampilkan gambar, menangani Kekress / klik mouse, dan membuat slider dan trackbar. GUI lanjutan harus dibangun dengan TK, WX, atau Qt. Lihat posting blog ini untuk mempelajari cara membuat OpenCV GUI dengan TK.


mari kita instal GTK:


Saya selalu merekomendasikan dua perpustakaan berikut yang akan mengoptimalkan berbagai fungsi OpenCV:

Dan akhirnya, persyaratan terakhir kami adalah menginstal header dan pustaka Python 3:

Langkah #2: Unduh sumber OpenCV resmi

Pembaruan 2018-12-20: Instruksi ini telah diperbarui agar berfungsi dengan OpenCV 3.4.4. Instruksi ini harus terus bekerja dengan versi OpenCV 3.x yang akan datang juga.

Karena kita terus bekerja di terminal, mari unduh rilis OpenCV resmi menggunakan wget :

Diikuti oleh modul opencv_contrib:

Catatan: Jika browser Anda memotong perintah lengkap, gunakan tombol pada bilah alat di atas untuk memperluas blok kode atau salin dan tempel URL berikut: https://github.com/opencv/opencv_contrib/archive/ 3.4.4.zip

Jadi, apa itu repo contrib?

Repositori contrib berisi algoritma seperti SIFT, SURF, dan lainnya. Di masa lalu, implementasi ini disertakan dalam instalasi default OpenCV 2.4; namun, mereka dipindahkan dimulai dengan OpenCV 3+.

Modul yang sedang aktif dikembangkan dan/atau modul yang dipatenkan (tidak gratis untuk penggunaan komersial/industri) termasuk dalam modul contrib. SIFT dan SURF termasuk dalam kategori ini. Anda dapat mempelajari lebih lanjut tentang proses pemikiran di balik langkah ini di posting blog berikut: Ke mana perginya SIFT dan SURF di OpenCV 3?

Penting: Versi opencv dan opencv_contrib harus sama. Perhatikan bahwa kedua URL mengarah ke 3.4.4. Jangan ragu untuk menginstal versi yang berbeda saat masih menggunakan panduan ini - pastikan untuk memperbarui kedua URL.

Sekarang, mari kita unzip arsip:

Sekarang mari kita lanjutkan dan ganti nama direktori:

Langkah #3: Konfigurasikan lingkungan Python 3 Anda

Langkah pertama yang kami ambil untuk mengonfigurasi lingkungan pengembangan Python 3 kami adalah menginstal pip, Manajer Paket Python.

Untuk menginstal pip, cukup masukkan berikut ini di terminal Anda:

Memanfaatkan lingkungan virtual untuk pengembangan Python

Jika Anda sudah familiar dengan blog saya dan menginstal panduan di dalamnya, pernyataan berikut mungkin membuat saya terdengar seperti kaset rusak tapi saya akan tetap mengulanginya:

Saya menggunakan virtualenv dan virtualenvwrapper setiap hari dan Anda juga harus melakukannya kecuali Anda memiliki alasan yang sangat spesifik untuk tidak melakukannya. Kedua paket Python ini memfasilitasi pembuatan lingkungan Python independen untuk proyek Anda.

Ini adalah praktik terbaik untuk menggunakan lingkungan virtual.

Mengapa?

Lingkungan virtual memungkinkan Anda untuk mengerjakan proyek Anda secara terpisah tanpa memutar sumber daya seperti VM dan gambar Docker (saya pasti menggunakan VirtualBox dan Docker - mereka memiliki tempatnya).

Misalnya, mungkin Anda memiliki proyek Python + OpenCV yang memerlukan versi lama scikit-learn (v0.14) tetapi Anda ingin tetap menggunakan versi terbaru scikit-learn (0,19) untuk semua proyek baru Anda.

Dengan menggunakan lingkungan virtual, Anda dapat menangani kedua dependensi versi perangkat lunak ini secara terpisah, sesuatu yang tidak mungkin dilakukan hanya dengan menginstal sistem Python.

Jika Anda ingin informasi lebih lanjut tentang lingkungan virtual Python, lihat artikel ini di RealPython atau baca paruh pertama posting blog ini di PyImageSearch.

Mari kita lanjutkan dan instal virtualenv dan virtualenvwrapper sekarang:

Untuk menyelesaikan instalasi, kita perlu memperbarui file ~/.bashrc kita.

Menggunakan editor teks terminal seperti vi /vim atau nano, tambahkan baris berikut ke ~/.bashrc :

Atau, Anda dapat menambahkan baris secara langsung melalui perintah bash:

Selanjutnya, sumber file ~/.bashrc:

Membuat lingkungan virtual untuk menampung OpenCV dan paket tambahan

Oke, sementara itu mungkin tampak seperti banyak pekerjaan, kami berada di titik di mana kami dapat membuat lingkungan virtual Python 3 Anda untuk OpenCV:

Baris ini hanya membuat lingkungan virtual Python 3 bernama cv. Anda dapat memberi nama lingkungan Anda apa pun yang Anda suka - saya ingin membuatnya singkat. Manis sambil juga memberikan informasi yang cukup jadi saya akan ingat untuk apa mereka. Anda dapat memiliki sebanyak mungkin lingkungan virtual di sistem Anda!

Mari kita verifikasi bahwa kita berada di lingkungan cv dengan menggunakan perintah workon:

Gambar 2 menunjukkan seperti apa terminal Anda (dengan asumsi Anda belum mengubah pengaturan bash Prompt):

Instal NumPy di lingkungan Anda

Mari kita instal paket pertama kita ke dalam lingkungan: NumPy. NumPy adalah persyaratan untuk bekerja dengan Python dan OpenCV. Kami cukup menggunakan pip (saat lingkungan virtual cv Python aktif):

Langkah #4: Konfigurasi dan kompilasi OpenCV untuk Ubuntu 18.04

Sekarang kita pindah. Kami siap untuk mengkompilasi dan menginstal OpenCV.

Sebelum kita mulai, mari kita pastikan bahwa kita berada di lingkungan virtual cv:

Sangat penting bahwa lingkungan virtual aktif (Anda di dalam lingkungan virtual) itulah sebabnya saya terus mengulanginya. Jika Anda tidak berada di lingkungan virtual cv Python sebelum melanjutkan ke langkah berikutnya, file build Anda tidak akan dihasilkan dengan benar.

Konfigurasi OpenCV dengan CMake

Mari kita siapkan build OpenCV kita menggunakan cmake :

Pembaruan 2018-12-20: Pastikan untuk menyetel tanda OPENCV_ENABLE_NONFREE=ON sehingga Anda akan memiliki akses ke algoritme yang dipatenkan yang terkadang kami tinjau di blog ini (dan dibahas secara mendalam di PyImageSearch Gurus). Demikian juga, pastikan untuk memperbarui jalur ke lingkungan virtual Anda sehingga PYTHON_EXECUTABLE yang benar akan digunakan (perhatikan cv di jalur karena nama lingkungan virtual kami adalah cv ). Saya selalu menyarankan Anda menelusuri output CMake. Periksa untuk melihat apakah ada yang terlihat tidak biasa. Anda tidak akan melihat tanda YA di sebelah setiap pengaturan - itu normal. Pastikan Anda tidak melihat kesalahan atau kompilasi Anda mungkin gagal (peringatan tidak apa-apa).

Perhatikan bahwa hanya bagian Python 3 yang ditampilkan dalam output CMake pada Ubuntu 18.04 pada Gambar 3. Ini dirancang karena kami hanya mengkompilasi OpenCV dengan dukungan Python 3.

Pembaruan 2018-12-20: Selain itu, gulir ke atas sekitar 20 baris dan pastikan Algoritme non-bebas disetel ke YA.

Catatan: Jika Anda mengalami masalah yang terkait dengan stdlib.h: Tidak ada file atau direktori selama fase cmake atau make dari tutorial ini, Anda juga harus menyertakan opsi berikut ke CMake: -D ENABLE_PRECOMPILED_HEADERS=OFF. Dalam hal ini saya akan menyarankan untuk menghapus direktori build Anda, membuatnya kembali, dan kemudian menjalankan kembali cmake dengan menyertakan opsi di atas. Ini akan menyelesaikan kesalahan stdlib.h.

Kompilasi OpenCV di Ubuntu 18.04

Mari kita compile OpenCV menggunakan make.

Bergantung pada jumlah prosesor/inti, Anda mungkin dapat mengurangi waktu kompilasi dengan mengubah tanda pada perintah. Komputer saya memiliki 4 core, jadi saya menggunakan flag -j4. Anda dapat memperbarui angka atau membiarkan bendera tidak aktif sama sekali:

Proses ini mungkin memakan waktu 30 menit atau lebih, jadi berjalanlah dengan baik jika Anda bisa.

Jika kompilasi Anda tersendat dan hang, itu mungkin karena kondisi balapan threading. Jika Anda mengalami masalah ini, cukup hapus direktori build Anda, buat ulang, dan jalankan kembali cmake dan make. Kali ini tidak menyertakan flag di sebelah make.

Menginstal dan memverifikasi OpenCV

Setelah kompilasi selesai 100%, Anda sekarang dapat menginstal OpenCV:

Untuk memverifikasi instalasi, terkadang saya ingin memasukkan perintah berikut di terminal:

Langkah #5: Selesaikan instalasi Python+ OpenCV + Ubuntu 18.04 Anda

Kami telah mencapai putaran terakhir balapan, jadi tetaplah melakukannya.

Pembaruan 2018-12-20: Jalur berikut telah diperbarui. Versi OpenCV sebelumnya menginstal binding di lokasi yang berbeda (/usr/local/lib/python3.6/site-packages ), jadi pastikan untuk melihat jalur di bawah ini dengan cermat.

Pada titik ini, binding Python 3 Anda untuk OpenCV harus berada di folder berikut:

Mari kita ganti namanya menjadi cv2.so :

Pro-tip: Jika Anda menginstal OpenCV 3 dan OpenCV 4 bersama-sama, alih-alih mengganti nama file menjadi cv2.so, Anda dapat mempertimbangkan untuk menamainya cv2.opencv3.4.4.so dan kemudian di sub-langkah sym-link berikutnya dengan tepat dari file itu ke cv2.so juga.

Sub-langkah terakhir kami adalah sym-link binding OpenCV cv2.so kami ke lingkungan virtual cv kami:

Langkah #6: Menguji instalasi OpenCV 3 Anda di Ubuntu 18.04

Perlombaan selesai, tapi mari kita verifikasi bahwa kita menembak semua silinder.

Untuk memverifikasi bahwa instalasi OpenCV + Ubuntu kami selesai, saya ingin meluncurkan Python, mengimpor OpenCV, dan menanyakan versinya (ini berguna untuk kewarasan jika Anda juga menginstal beberapa versi OpenCV):

Berikut tampilannya di sistem saya:

Pembaruan 2018-12-20: Saya tidak memperbarui tangkapan layar hari ini selama pembaruan saya. Versi harus mencerminkan versi OpenCV yang Anda instal.

Opsional, pada titik ini, Anda dapat dengan aman menghapus zip dan direktori di folder rumah Anda:

Memecahkan masalah pemasangan Anda (FAQ)

Di bagian ini, saya membahas beberapa pertanyaan umum, masalah, dan masalah yang muncul saat menginstal OpenCV 3 dengan Python 3 di Ubuntu 18.04 LTS.

T. Di mana Python 2.7 di Ubuntu 18.04? A. Python 3 adalah default. Apa yang datang dengan Ubuntu 18.04. Python 3 adalah default. Apa yang datang dengan Ubuntu 18.04.04. Pengguna Python 2.7 dapat menginstal Python 2.7 secara manual di akhir Langkah #1:

Dari sana, saat Anda membuat lingkungan virtual di Langkah #3, pertama-tama instal pip untuk Python 2.7:

Dan kemudian (juga di Langkah #3) ketika Anda membuat lingkungan virtual Anda, cukup gunakan flag versi Python yang relevan:

Dari sana semuanya harus sama.

T. Mengapa saya tidak bisa melakukan pip untuk menginstal OpenCV?

A. Ada sejumlah versi OpenCV yang dapat diinstal pip yang tersedia tergantung pada sistem operasi dan arsitektur Anda. Masalah yang mungkin Anda hadapi adalah bahwa mereka dapat dikompilasi tanpa berbagai pengoptimalan, dukungan I/O gambar, dukungan I/O video, dan dukungan opencv_contrib. Gunakan mereka - tetapi gunakan dengan risiko Anda sendiri. Tutorial ini dimaksudkan untuk memberi Anda penginstalan penuh OpenCV di Ubuntu 18.04 sambil memberi Anda kendali penuh atas kompilasi.

T. Ketika saya menjalankan mkvirtualenv atau workon, saya menemukan kesalahan perintah tidak ditemukan.

A. Ada beberapa alasan mengapa Anda akan melihat pesan kesalahan ini, semuanya berasal dari Langkah #3:

1. Pertama, pastikan Anda telah menginstal virtualenv dan virtualenvwrapper dengan benar menggunakan manajer paket pip. Verifikasi dengan menjalankan pip freeze, dan pastikan Anda melihat virtualenv dan virtualenvwrapper dalam daftar paket yang diinstal. 2. File ~/.bashrc Anda mungkin memiliki kesalahan. Lihat konten file ~/.bashrc Anda untuk melihat perintah ekspor dan sumber yang tepat (periksa Langkah #3 untuk perintah yang harus ditambahkan ke ~/.bashrc ). 3. Anda mungkin lupa sumber ~/.bashrc Anda. Pastikan Anda menjalankan source ~/.bashrc setelah mengeditnya untuk memastikan Anda memiliki akses ke perintah mkvirtualenv dan workon.

T. Ketika saya membuka terminal baru, logout, atau reboot sistem Ubuntu saya, saya tidak dapat menjalankan perintah mkvirtualenv atau workon.

A. Lihat #2 dari pertanyaan sebelumnya.

T. Ketika saya mencoba untuk mengimpor OpenCV, saya menemukan pesan ini: Impor Kesalahan: Tidak ada modul bernama cv2.

SEBUAH. Ada beberapa alasan mengapa ini bisa terjadi dan sayangnya, sulit untuk didiagnosis. Saya merekomendasikan saran berikut untuk membantu mendiagnosis dan mengatasi kesalahan:

1. Pastikan lingkungan virtual cv Anda aktif dengan menggunakan perintah workon cv. Jika perintah ini memberi Anda kesalahan, lihat pertanyaan pertama di FAQ ini. 2. Coba selidiki isi direktori paket situs di lingkungan virtual cv Anda. Anda dapat menemukan direktori paket situs di ~/.virtualenvs/cv/lib/python3.6/site-packages/ tergantung pada versi Python Anda. Pastikan (1) ada file cv2.so di direktori site-packages dan (2) sym-link dengan benar ke file yang valid. 3. Pastikan untuk memeriksa direktori site-packages (dan bahkan dist-packages ) untuk instalasi sistem Python yang terletak di /usr/local/lib/python3.6/site-packages/. Selain itu, silakan periksa /usr/local/python/cv2. Idealnya, Anda harus memiliki file cv2.so di salah satu lokasi tersebut. 4. Sebagai upaya terakhir, periksa direktori build/lib Anda dari build OpenCV Anda. Seharusnya ada file cv2.so di sana (jika keduanya cmake. Make dieksekusi tanpa kesalahan).so file di sana (jika cmake dan make dieksekusi tanpa kesalahan). Jika file cv2.so ada, salin secara manual ke direktori paket situs sistem serta direktori paket situs untuk lingkungan virtual cv.

Apa berikutnya? Saya merekomendasikan Universitas PyImageSearch.

Saya sangat percaya bahwa jika Anda memiliki guru yang tepat, Anda dapat menguasai visi komputer dan pembelajaran mendalam.

Apakah menurut Anda mempelajari visi komputer dan pembelajaran mendalam harus memakan waktu, banyak, dan rumit? Atau harus melibatkan matematika dan persamaan yang kompleks? Atau membutuhkan gelar dalam ilmu komputer?

Bukan itu masalahnya.

Yang Anda butuhkan untuk menguasai visi komputer dan pembelajaran mendalam adalah agar seseorang menjelaskan berbagai hal kepada Anda dalam istilah yang sederhana dan intuitif. Dan itulah yang saya lakukan. Misi saya adalah mengubah pendidikan. Betapa rumit topik intelijen buatan diajarkan.


Jika Anda serius belajar visi komputer, perhentian Anda berikutnya harus berupa PyImagesearch University, visi komputer paling komprehensif, pembelajaran mendalam, dan kursus OpenCV online hari ini. Di sini Anda akan belajar bagaimana dengan berhasil dan dengan percaya diri menerapkan visi komputer untuk pekerjaan, penelitian, dan proyek Anda. Bergabunglah dengan saya dalam penguasaan visi komputer.


Di dalam Universitas PyImagesearch Anda akan menemukan:


- 30+ kursus tentang visi komputer penting, pembelajaran mendalam, dan topik opencv
- 30+ sertifikat penyelesaian
- 39H 44m video on-demand
- Kursus baru yang dirilis setiap bulan, memastikan Anda dapat mengikuti teknik canggih
- notebook jupyter pra-konfigurasi di google colab
- Jalankan semua contoh kode di browser web Anda - bekerja pada Windows, MacOS, dan Linux (tidak diperlukan konfigurasi lingkungan dev!)- Akses ke repositori kode terpusat untuk semua 500+ tutorial di PyImageSearch - Unduhan satu klik yang mudah untuk kode, kumpulan data, model yang telah dilatih sebelumnya, dll. - Akses di ponsel, laptop, desktop, dll.