Dapatkah saya menginstal opencv di windows?

Periksa bagian pembuatan manual jika Anda ingin mengkompilasi binding dari sumber untuk mengaktifkan modul tambahan seperti CUDA

Instalasi dan Penggunaan

  1. Jika Anda sebelumnya/lainnya menginstal secara manual (= tidak diinstal melalui pip) versi OpenCV diinstal (e. g. cv2 di root paket situs Python), hapus sebelum instalasi untuk menghindari konflik

  2. Pastikan versi pip_ Anda sudah yang terbaru (19. 3 adalah versi minimum yang didukung). pip install --upgrade pip. Periksa versi dengan pip -V. Misalnya distribusi Linux dikirimkan dengan versi pip yang sangat lama yang menyebabkan banyak masalah tak terduga terutama dengan format manylinux

  3. Pilih paket yang tepat untuk lingkungan Anda

    Ada empat paket yang berbeda (lihat opsi 1, 2, 3 dan 4 di bawah) dan Anda harus PILIH SATU DARI MEREKA HANYA. Jangan menginstal beberapa paket berbeda di lingkungan yang sama. Tidak ada arsitektur plugin. semua paket menggunakan namespace yang sama (cv2). Jika Anda menginstal beberapa paket berbeda di lingkungan yang sama, hapus semuanya dengan pip uninstall dan instal ulang hanya satu paket

    a. Paket untuk lingkungan desktop standar (Windows, macOS, hampir semua distribusi GNU/Linux)

    • Opsi 1 - Paket modul utama. pip install opencv-python_
    • Opsi 2 - Paket lengkap (berisi modul utama dan modul contrib/ekstra). pip0 (periksa contrib/daftar modul tambahan dari dokumentasi OpenCV)

    b. Paket untuk lingkungan server (tanpa kepala) (seperti Docker, lingkungan cloud, dll. ), tidak ada dependensi pustaka GUI

    Paket-paket ini lebih kecil dari dua paket lain di atas karena tidak mengandung fungsionalitas GUI (tidak dikompilasi dengan Qt / komponen GUI lainnya). Ini berarti bahwa paket-paket tersebut menghindari rantai ketergantungan yang berat ke pustaka X11 dan Anda akan memiliki misalnya gambar Docker yang lebih kecil sebagai hasilnya. Anda harus selalu menggunakan paket ini jika Anda tidak menggunakan pip1 et al. atau Anda menggunakan beberapa paket lain (seperti PyQt) selain OpenCV untuk membuat GUI Anda

    • Opsi 3 - Paket modul utama tanpa kepala. pip_2
    • Opsi 4 - Paket lengkap tanpa kepala (berisi modul utama dan modul contrib/ekstra). pip3 (periksa contrib/daftar modul tambahan dari dokumentasi OpenCV)
  4. Impor paket

    pip_4

    Semua paket berisi file cascade Haar. pip_5 dapat digunakan sebagai jalan pintas ke folder data. Sebagai contoh

    pip_6

  5. Baca dokumentasi OpenCV

  6. Sebelum membuka terbitan baru, baca FAQ di bawah ini dan lihat terbitan lain yang sudah terbuka

Pertanyaan yang Sering Diajukan

Q. Apakah saya juga perlu menginstal OpenCV secara terpisah?

A. Tidak, paketnya adalah paket biner roda khusus dan sudah berisi biner OpenCV yang dibuat secara statis

Q. Pemasangan pip gagal dengan pip_7?

Sejak pip_8 versi 4. 3. 0. *, pip_9 roda diganti dengan pip0 roda. Jika pip Anda terlalu tua, ia akan mencoba menggunakan distribusi sumber baru yang diperkenalkan di 4. 3. 0. 38 untuk membangun OpenCV secara manual karena tidak tahu cara memasang roda pip0. Namun, build sumber juga akan gagal karena pip terlalu lama karena tidak memahami dependensi build di pip3. Untuk menggunakan pip0 roda pra-bangun baru (atau untuk membangun dari sumber), versi pip Anda harus >= 19. 3. Harap tingkatkan pip dengan pip install --upgrade pip

Q. Impor gagal di Windows. pip_8?

A. Jika impor gagal di Windows, pastikan Anda telah menginstal Visual C++ redistributable 2015. Jika Anda menggunakan versi Windows yang lebih lama dari Windows 10 dan pembaruan sistem terbaru tidak diinstal, Universal C Runtime mungkin juga diperlukan

Edisi Windows N dan KN tidak menyertakan Paket Fitur Media yang diperlukan oleh OpenCV. Jika Anda menggunakan edisi Windows N atau KN, harap instal juga Windows Media Feature Pack

Jika Anda memiliki Windows Server 2012+, DLL media mungkin juga hilang; . Hati-hati, beberapa posting menyarankan untuk menginstal "Windows Server Essentials Media Pack", tetapi yang ini membutuhkan peran "Windows Server Essentials Experience", dan peran ini akan sangat memengaruhi konfigurasi Windows Server Anda (dengan menerapkan integrasi direktori aktif, dll. );

Jika hal di atas tidak membantu, periksa apakah Anda menggunakan Anaconda. Versi lama Anaconda memiliki bug yang menyebabkan kesalahan, lihat masalah ini untuk perbaikan manual

Jika Anda masih mengalami kesalahan setelah Anda memeriksa semua solusi sebelumnya, unduh Ketergantungan dan buka file pip9 (biasanya terletak di pip install --upgrade pip0) untuk men-debug masalah DLL yang hilang

Q. Saya memiliki beberapa kesalahan impor lainnya?

A. Pastikan Anda telah menghapus instalasi manual lama dari binding OpenCV Python (cv2. so atau cv2. pyd dalam paket-situs)

Q. Fungsi foo() atau method bar() mengembalikan hasil yang salah, melontarkan pengecualian atau membuat juru bahasa mogok. Apa yang harus saya lakukan?

A. Repositori hanya berisi skrip pembuatan paket OpenCV-Python, tetapi bukan OpenCV itu sendiri. Pengikatan Python untuk OpenCV dikembangkan di repositori resmi OpenCV dan ini adalah tempat terbaik untuk melaporkan masalah. Silakan periksa juga {OpenCV wiki](https. //github. com/opencv/opencv/wiki) dan forum OpenCV resmi sebelum mengajukan bug baru

Q. Mengapa paket tidak menyertakan algoritme tidak bebas?

A. Algoritme tidak bebas seperti SURF tidak termasuk dalam paket ini karena dipatenkan / tidak bebas dan karenanya tidak dapat didistribusikan sebagai binari bawaan. Perhatikan bahwa SIFT disertakan dalam build karena kedaluwarsa paten sejak OpenCV versi 4. 3. 0 dan 3. 4. 10. Lihat masalah ini untuk info lebih lanjut. https. //github. com/skvark/opencv-python/issues/126

Q. Mengapa paket dan impor berbeda (opencv-python vs. cv2)?

A. Lebih mudah bagi pengguna untuk memahami pip_8 daripada cv2 dan memudahkan untuk menemukan paket dengan mesin telusur. cv2 (antarmuka lama dalam versi OpenCV lama dinamai sebagai pip install --upgrade pip4) adalah nama yang dipilih pengembang OpenCV ketika mereka membuat generator pengikat. Ini disimpan sebagai nama impor agar konsisten dengan berbagai jenis tutorial di internet. Mengubah nama atau perilaku impor juga akan membingungkan pengguna berpengalaman yang terbiasa dengan pip4

Dokumentasi untuk opencv-python

Tujuan dari repositori ini adalah menyediakan sarana untuk mengemas setiap rilis OpenCV baru untuk versi dan platform Python yang paling banyak digunakan

proses pembangunan CI

Proyek ini disusun seperti paket Python normal dengan file pip install --upgrade pip6 standar. Proses build untuk satu entri dalam matriks build adalah sebagai berikut (lihat misalnya file pip install --upgrade pip7)

  1. Di Linux dan MacOS build. dapatkan dependensi C opsional OpenCV yang kami kompilasi

  2. Lihat repositori dan submodul

    • OpenCV disertakan sebagai submodule dan versinya diperbarui secara manual oleh pengelola ketika rilis OpenCV baru telah dibuat
    • Modul contrib juga disertakan sebagai submodule
  3. Temukan versi OpenCV dari sumbernya

  4. Membangun OpenCV

    • pengujian dinonaktifkan, jika tidak, waktu pembuatan bertambah terlalu banyak
    • ada 4 entri matriks build untuk setiap kombinasi build. dengan dan tanpa modul contrib, dengan dan tanpa GUI (headless)
    • Linux build berjalan di banyak wadah Linux Docker (CentOS 5)
    • distribusi sumber adalah entri terpisah dalam matriks build
  5. Atur ulang hasil build OpenCV, tambahkan file kustom kami dan hasilkan roda

  6. Roda Linux dan macOS diubah dengan auditwheel dan delocate, secara bersamaan

  7. Pasang roda yang dihasilkan

  8. Uji apakah Python dapat mengimpor perpustakaan dan menjalankan beberapa pemeriksaan kewarasan

  9. Gunakan benang untuk mengunggah roda yang dihasilkan ke PyPI (hanya dalam versi rilis)

Langkah 1--4 ditangani oleh ________3______8

Build dapat disesuaikan dengan variabel lingkungan. Selain variabel apa pun yang diterima oleh build OpenCV, kami mengenalinya

  • pip install --upgrade pip_9. Setel ke pip -V_0 untuk meniru perilaku pembangunan lingkungan CI. Digunakan hanya dalam build CI untuk memaksa flag build tertentu di pip install --upgrade pip6. Jangan gunakan ini kecuali Anda tahu apa yang Anda lakukan
  • pip -V2 dan pip -V3. Setel ke pip -V_0 untuk membuat contrib dan/atau versi tanpa kepala
  • pip -V_5, Setel ke pip -V0 untuk mengaktifkan build klien Java. Ini dinonaktifkan secara default
  • pip -V_7. Argumen tambahan untuk pemanggilan CMake OpenCV. Anda dapat menggunakan ini untuk membuat bangunan khusus

Lihat bagian selanjutnya untuk info selengkapnya tentang build manual di luar lingkungan CI

Pembuatan manual

Jika beberapa dependensi tidak diaktifkan di roda yang dibuat sebelumnya, Anda juga dapat menjalankan build secara lokal untuk membuat roda kustom

  1. Kloning repositori ini. pip -V_8
  2. pip -V_9
    • Anda dapat menggunakan pip_0 untuk checkout beberapa versi lain dari OpenCV di pip1 dan pip2 submodul jika diperlukan
  3. Tambahkan bendera Cmake khusus jika diperlukan, misalnya. pip3 (di Windows Anda perlu mengatur variabel lingkungan secara berbeda tergantung pada Command Line atau PowerShell)
  4. Pilih rasa paket yang ingin Anda buat dengan pip -V2 dan pip -V3. saya. e. pip_6 jika Anda ingin membangun pip7
  5. Jalankan pip_8. CATATAN. pastikan Anda memiliki versi pip terbaru, perintah pip install --upgrade pip8 menggantikan perintah manylinux1 lama yang tidak mendukung pip3
    • ini mungkin memakan waktu mulai dari 5 menit hingga lebih dari 2 jam tergantung pada perangkat keras Anda
  6. Anda akan memiliki file roda di folder manylinux3 dan Anda dapat melakukannya dengan apa pun yang Anda inginkan
    • Opsional. di Linux gunakan beberapa gambar manylinux_ sebagai host build jika portabilitas maksimum diperlukan dan jalankan manylinux5 untuk roda setelah build
    • Opsional. pada macOS gunakan manylinux6 (sama seperti manylinux5 tetapi untuk macOS) untuk portabilitas yang lebih baik

Build debug manual

Untuk membangun pip8 dalam build debug yang tidak dioptimalkan, Anda perlu sedikit melangkahi proses normal

  1. Instal paket manylinux9 dan cv20 melalui pip
  2. Jalankan perintah cv2_1
  3. Instal file roda yang dihasilkan di folder cv2_2 dengan cv23

Jika Anda ingin build menghasilkan semua perintah compiler, maka kombinasi flag dan variabel lingkungan berikut telah diuji untuk bekerja di Linux

export CMAKE_ARGS='-DCMAKE_VERBOSE_MAKEFILE=ON'
export VERBOSE=1

python3 setup.py bdist_wheel --build-type=Debug

Lihat masalah ini untuk diskusi lebih lanjut. https. //github. com/opencv/opencv-python/issues/424

Distribusi sumber

Sejak OpenCV versi 4. 3. 0, juga distribusi sumber disediakan di PyPI. Ini berarti bahwa jika sistem Anda tidak kompatibel dengan salah satu roda di PyPI, pip akan mencoba membuat OpenCV dari sumber. Jika Anda memerlukan versi OpenCV yang tidak tersedia di PyPI sebagai distribusi sumber, harap ikuti panduan pembuatan manual di atas alih-alih yang ini

Anda juga dapat memaksa pip_ untuk membuat roda dari distribusi sumber. Beberapa contoh

  • cv26
  • cv27

Jika Anda memerlukan modul contrib atau versi headless, ubah saja nama paket (langkah 4 di bagian sebelumnya tidak diperlukan). Namun, flag CMake tambahan apa pun dapat disediakan melalui variabel lingkungan seperti yang dijelaskan pada langkah 3 di bagian build manual. Jika tidak ada yang disediakan, skrip CMake OpenCV akan berusaha menemukan dan mengaktifkan dependensi yang sesuai. Distribusi tanpa kepala memiliki flag CMake berkode keras yang menonaktifkan semua kemungkinan dependensi GUI

Pada sistem yang lambat seperti Raspberry Pi, pembuatan penuh mungkin memakan waktu beberapa jam. Pada Ryzen 7 3700X 8-core, build membutuhkan waktu sekitar 6 menit

Lisensi

Paket Opencv-python (skrip dalam repositori ini) tersedia di bawah lisensi MIT

OpenCV sendiri tersedia di bawah lisensi Apache 2

Lisensi paket pihak ketiga ada di LICENSE-3RD-PARTY. txt

Kapal semua roda dengan FFmpeg dilisensikan di bawah LGPLv2. 1

Roda Linux tanpa kepala dikirimkan dengan Qt 5 yang dilisensikan di bawah LGPLv3

Paket termasuk juga binari lainnya. Daftar lengkap lisensi dapat ditemukan dari LICENSE-3RD-PARTY. txt

Pembuatan versi

cv28 skrip mencari informasi versi dari sumber OpenCV dan menambahkan juga nomor revisi khusus untuk repositori ini ke string versi. Ini menyimpan informasi versi ke file cv29 di bawah cv2 selain beberapa flag lainnya

Rilis

Rilis dibuat dan diunggah ke PyPI saat tag baru didorong ke cabang master. Tag ini membedakan paket (repo ini mungkin memiliki modifikasi tetapi versi OpenCV tetap sama) dan harus ditambahkan secara berurutan. Dalam praktiknya, nomor versi rilis terlihat seperti ini

pip uninstall1 e. g. pip uninstall_2

Cabang master mengikuti rilis cabang master OpenCV. 3. 4 cabang mengikuti OpenCV 3. 4 rilis perbaikan bug

Membangun pembangunan

Setiap komit ke cabang master repo ini akan dibangun. Artefak build yang mungkin menggunakan pengidentifikasi versi lokal

pip uninstall_3 e. g. pip uninstall_4

Artefak ini tidak dapat dan tidak akan diunggah ke PyPI

Banyak roda linux

Roda Linux dibangun menggunakan manylinux2014. Roda ini harus bekerja di luar kotak untuk sebagian besar distro (yang menggunakan perpustakaan standar GNU C) di luar sana karena dibangun dengan versi lama glibc

Gambar pip_0 default telah diperpanjang dengan beberapa dependensi OpenCV. Lihat folder Docker untuk info lebih lanjut

Versi Python yang didukung

Piton 3. x roda pre-built yang kompatibel disediakan untuk versi Python yang didukung secara resmi (tidak dalam EOL)

Kompatibilitas terbalik

Mulai dari 4. 2. 0 dan 3. 4. 9 membangun lingkungan build macOS Travis telah diperbarui ke XCode 9. 4. Perubahan tersebut secara efektif menghilangkan dukungan untuk yang lebih tua dari 10 tahun. 13 versi macOS

Mulai dari 4. 3. 0 dan 3. 4. 10 build Lingkungan build Linux diperbarui dari pip9 ke pip0. Ini menjatuhkan dukungan untuk distribusi Linux lama

Bagaimana cara menginstal OpenCV di Windows 10?

Kami akan menjelaskan penginstalan dari sumber untuk Windows 10. .
Langkah 1. Unduh OpenCV.dll. .
Langkah 2. Unduh OpenCV-contrib.dll. .
Langkah 3. Unduh dan Instal Komunitas Visual Studio 2019. .
Langkah 4. Instal Lingkungan Pengembangan Python dan C++ di Visual Studio 2019. .
Langkah 5. Instal CMake. .
Langkah 6. Ikhtisar umum CMake

Bagaimana cara menginstal OpenCV di PC saya?

Membangun OpenCV dari sumber .
Unduh dan instal Visual Studio dan CMake. .
Unduh dan instal paket Python yang diperlukan ke lokasi default mereka. .
Pastikan Python dan Numpy berfungsi dengan baik
Unduh sumber OpenCV. .
Ekstrak ke folder, buka cv dan buat folder baru di dalamnya

Bagaimana cara menginstal OpenCV untuk C++ di Windows?

Berikut adalah panduan instalasi sederhana untuk menginstal OpenCV di Windows. Buka https. //github. com/opencv/opencv dan unduh rilis terbaru. Ekstrak file ke drive lokal (mis. C) Buat konsol C++ proyek Visual Studio Baru .

Bisakah saya pip menginstal OpenCV?

OpenCV dapat diinstal menggunakan pip .