opencv_core245.dll & opencv_ml245.dll hilang

1

Saya mencoba menginstal beberapa perangkat lunak penting yang terkait dengan pekerjaan saya (pada Windows 10), tetapi ketika saya mencoba menjalankannya muncul kesalahan yang mengatakan bahwa opencv_core245.dll & amp; opencv_ml245.dll hilang.

Saya telah mencoba googling tetapi satu-satunya hasil yang saya dapatkan adalah situs web yang cerdik dan beberapa virus.

Bagaimana saya bisa memperbaiki masalah ini?

EDIT: Perangkat lunak yang saya coba jalankan adalah aplikasi TITARL yang ditemukan sini

Jessica Chambers
sumber
1
Perangkat lunak harus menyediakan dependensinya, sehingga mereka setidaknya harus menyebutkan bagaimana cara mendapatkannya di suatu tempat (README.txt?) Jika mereka tidak menggabungkannya.
T Nierath
@Tierier Saya telah menjelajahi README.txt, tidak ada apa-apa di sana meskipun ada beberapa detail kontak ...
Jessica Chambers
Seperti jawabannya, opencv adalah perpustakaan yang terkenal. Anda dapat mencoba memeriksa apakah mereka menyediakan build dengan nomor versi yang sesuai (2,45?). Tapi windows cukup berantakan ketika datang ke kompatibilitas biner sehingga dll biasanya dilengkapi dengan biner itu sendiri Semoga berhasil.
T Nierath

Jawaban:

0

Kesalahan muncul mengatakan itu opencv_core245.dll dan opencv_ml245.dll hilang.

Ini terkait dengan OpenCV (Open Source Computer Vision) Perpustakaan. Anda mungkin ingin mencoba menginstalnya terlebih dahulu.

catatan instalasi

  • OpenCV extractor untuk Windows (saat ini dikemas sebagai .exe ) akan meminta jalur untuk mengekstrak saat dijalankan. Sebuah opencv folder dibuat secara otomatis di lokasi itu.

  • Dalam arti luas, seharusnya tidak masalah di mana Anda memilih untuk mengekstrak file ini. Namun, program Anda mungkin memiliki persyaratan khusus (yang harus Anda verifikasi) tentang penempatan .dlls yang hilang.

  • Beberapa program mungkin memerlukan jalur ke perpustakaan untuk didefinisikan dalam pengaturannya sementara yang lain mungkin mengharuskan Anda untuk menempatkan file secara manual, mis. dalam folder program mereka (atau lokasi lain). Anda perlu mengonfirmasi opsi mana yang berlaku melalui dokumentasi program atau penelitian lebih lanjut.

  • OpenCV hadir dengan sejumlah builds. Anda harus mencocokkan "bitness" dari perpustakaan yang Anda pilih .dlls dengan "bitness" dari program Anda (mis. 32-bit atau 64-bit).

TITARL

Untuk TITARL, file .dll yang hilang harus ditempatkan di folder yang sama dengan TITARL.exe:

OpenCV DLL Placement - Screenshot

opencv_core245.dll Dan opencv_ml245.dll

Sayangnya, OpenCV 2.4.5 (dan .dlls ini) tampaknya tidak lagi mudah tersedia sebagai binari yang dikompilasi sebelumnya. Namun, OpenCV 2.4.5 Library masih tersedia sebagai Kode sumber dari repositori GitHub resmi. .Dlls yang hilang harus dikompilasi dari kode sumber ini sebelum program dijalankan.

Jika Anda mempercayai orang asing di internet, saya punya mengkompilasi versi 64-bit dari kedua .dlls ini untukmu. Mereka tampaknya bekerja dengan benar dengan example_learning.bat disediakan dengan TITARL. Namun, mereka belum diuji secara menyeluruh dengan cara apa pun.

Peringatan

  • Dll ini dibangun dengan Visual Studio 14 (2015) di Window 7 tanpa dukungan Python.

  • Dukungan untuk FFmpeg dan DirectShow dimasukkan dalam opsi build tetapi belum diuji secara langsung.

  • Tidak ada file .dll lainnya yang dibuat selain itu opencv_core245.dll dan opencv_ml245.dll.

Jika Anda memutuskan untuk mencoba ini dan mengalami masalah (mis. Perilaku yang tidak dapat dijelaskan atau masalah lain), Anda mungkin perlu mengompilasinya sendiri. Saya memberikan ikhtisar langkah-langkah yang saya ambil di bawah ini.


Panduan Kompilasi Mini untuk Visual Studio

Berdasarkan panduan umum ini untuk mengkompilasi OpenCV 3 dengan Visual Studio , yang telah Anda sebutkan di komentar, langkah-langkah berikut harus memungkinkan Anda untuk mendapatkan setidaknya instalasi TITARL yang berfungsi minimal dengan membangun.

Persiapan

  1. Unduh dan pasang Microsoft Visual Studio Community Edition (bebas). Mereka punya versi yang lebih lama juga, tergantung pada kebutuhan Anda. Sadarilah bahwa versi yang lebih lama saat ini memerlukan yang gratis Essentials Dev akun untuk diakses.

  2. Unduh dan pasang CMake . CMake adalah utilitas yang membantu kompilasi berjalan lebih mudah dan OpenCV 2.4.5. memiliki file yang diperlukan untuk bekerja dengannya.

  3. Unduh dan ekstrak kode sumber yang ditautkan sebelumnya (jika Anda belum melakukannya). Di mana Anda mengekstrak kode sumber adalah pilihan Anda.

  4. Dengan asumsi CMake terinstal, buka antarmuka GUI (mis. Dari ikon di desktop Anda).

  5. Di bagian atas jendela utama, masukkan lintasan ke kode sumber Anda di bidang pertama. Di bidang sekunder tepat di bawah, tambahkan jalur ke tempat Anda ingin menyimpan file yang terkait dengan kompilasi (lokasi jalur kedua ini adalah pilihan Anda). Sepanjang langkah-langkah ini, saya akan menggunakan folder bernama build, terletak di direktori yang sama dengan kode sumber:

    CMake/OpenCV Build Directory - Screenshot

  6. Setelah jalur ini dimasukkan, tekan Konfigurasikan di dekat bagian bawah jendela utama. Kotak dialog baru akan muncul.

  7. Di kotak dialog ini, pilih "generator" yang benar untuk .dlls Anda. Untuk Visual Studio, ini akan menjadi nama edisi diikuti oleh apa-apa (yang membangun biner 32-bit) atau Win64 (yang membangun biner 64-bit). TITARL adalah program 64-bit ( TITARL 1.7 [Win x64 - Public release] ), oleh karena itu Anda ingin memilih mis Visual Studio 14 2015 Win64 atau Visual Studio 15 2017 Win64 untuk membangun .dlls 64-bit yang sesuai:

    CMake Generator - Visual Studio 14 2015 Win64 - Screenshot CMake Generator - Visual Studio 15 2017 Win64 - Screenshot

  8. tekan Selesai untuk menutup kotak dialog. CMake akan secara otomatis mulai memproses kode sumber OpenCV 2.4.5. Di jendela utama, jendela Konfigurasikan tombol akan berubah menjadi Berhenti tombol dan Menghasilkan ... dan Proyek terbuka... tombol di sebelahnya akan berwarna abu-abu. Perhatikan bahwa pemrosesan awal ini mungkin memakan waktu beberapa menit.

  9. Setelah pemrosesan ini selesai, panel atas di jendela CMake utama akan menampilkan sejumlah besar informasi berwarna merah (ini adalah opsi yang baru terdeteksi). Panel bawah harus membaca "Mengonfigurasi selesai":

    CMake Initial Processing Completed

  10. Temukan opsi build yang ditandai BUILD_opencv_* (dimana * adalah nama seperti apps ). Mereka semua harus berada dalam satu blok. Hapus centang pada kotak di sebelah setiap item, tidak termasuk BUILD_opencv_core dan BUILD_opencv_ml. tekan Konfigurasikan lagi. Setelah pemrosesan selesai sekali lagi, tekan Menghasilkan... . Ketika selesai, jendela CMake utama akan terlihat seperti ini:

    CMake - Ready To Visual Studio Edit Solution - Screenshot

Memperbaiki OpenCV 2.4.5

Biasanya, semuanya akan siap untuk mengkompilasi file .dll yang hilang pada saat ini. Namun, OpenCV 2.4.5. memiliki masalah umum dengan Visual Studio 12+ di mana ia menghasilkan sejumlah besar "max" : is not a member of "std" kesalahan, yang mencegah .dlls yang diperlukan dari dibuat.

Syukurlah, sebagaimana terinci dalam jawaban untuk ini Pertanyaan StackOverflow , kompilasi dapat dicapai dengan beberapa perubahan kecil pada kode sumber asli.

Untuk memperbaiki masalah ini:

  1. Temukan OpenCV.sln solusi yang dihasilkan oleh CMake sebelumnya (mis. dalam C:\path\to\opencv-2.4.5\build ).

  2. Klik dua kali file untuk membukanya di Visual Studio. Karena ini kemungkinan pertama kali Anda membuka solusi ini, mungkin diperlukan satu atau dua menit untuk Visual Studio untuk sepenuhnya menguraikannya. Tonton bilah aktivitas biru di bagian bawah jendela Visual Studio utama dan tunggu hingga berbunyi "Siap" sebelum melanjutkan.

  3. Setelah Visual Studio selesai, tekan Ctrl + H untuk membuka Temukan dan ganti kotak dialog, lalu lakukan hal berikut:

    • Dibawah Find what: memasukkan #include \<string\>.
    • Dibawah Replace with: memasukkan #include <algorithm>\n#include <string>.
    • Set Look in untuk Entire Solution (sesuai kebutuhan).
    • Dibawah Find options, memastikan Use Regular Expressions ditandai.
    • tekan Menggantikan semua saat selesai.

      Visual Studio Solution Replacement Dialog - Screenshot

Kompilasi

Setelah semua langkah di atas selesai, Anda harus siap untuk mengompilasi dengan CMake. Buka jendela perintah di build direktori (mis. C:\path\to\opencv-2.4.5\build ) dan ketik mis .:

C:\path\to\cmake.exe --build . --config Release --target INSTALL

Setelah waktu singkat (di bawah 15 menit), kompilasi harus diselesaikan dan .dll yang hilang harus tersedia di bawah install\bin folder dari build direktori (mis C:\path\to\opencv-2.4.5\build\install\bin ). Seperti disebutkan sebelumnya, .dlls di folder ini perlu ditempatkan di folder yang sama dengan TITARL.exe.


Catatan umum

  • Mengikuti langkah-langkah di atas, saya tidak menemukan kesalahan besar di luar koreksi kode yang diperlukan dengan Visual Studio. Namun, saya tidak berusaha membangun seluruh perpustakaan.

  • Tidak setiap langkah yang disajikan di sini persis mencerminkan langkah-langkah yang diberikan dalam tautan panduan. Anda mungkin ingin merujuk kembali ke tautan tersebut untuk detail tambahan.

Catatan Visual Studio

  • Visual Studio dapat menjadi instalasi besar dan mungkin memerlukan konfigurasi sendiri. Karena itu, Persiapan Langkah 1 mungkin membutuhkan waktu lebih lama daripada yang mungkin Anda pikirkan.

  • Jika Anda berencana untuk mengotak-atik dukungan Python di OpenCV, Visual Studio mungkin perlu disiapkan Python Tools for Visual Studio bersama dengan dukungannya untuk Visual C++.

  • Pesan peringatan kuning selama kompilasi seringkali dapat diabaikan dengan aman. Pesan kesalahan merah, di sisi lain, menunjukkan masalah yang akan menyebabkan pembangunan gagal (mis. Tidak .dlls akan diproduksi). Namun, ini tidak sama dengan kesalahan merah yang berpotensi "aman" yang dihasilkan CMake di bawah ini.

Catatan CMake

  • CMake menggunakan / tidak \ untuk jalur Windows di antarmuka GUI-nya. Yang mengatakan, jalur yang disisipkan harus memiliki \ beralih ke / secara otomatis.

  • Jika Anda tidak ingin mengetikkan path lengkap untuk cmake.exe pada langkah kompilasi akhir, pilih opsi untuk menambahkan CMake ke PATH Anda selama instalasi.

  • Opsi untuk membangun .dll yang mendukung Python di CMake memerlukan langkah-langkah yang tidak tercantum di sini.

  • Persiapan Langkah 7 dapat menyebabkan biner yang salah dibangun jika Anda memilih generator yang salah (mis. 32-bit .dlls tidak akan berfungsi dengan program 64-bit). Meninggalkan opsi tombol radio sebagai Use default native compilers harus baik-baik saja.

  • Jika Anda membuat kesalahan dengan CMake, dll., Cukup hapus build folder dan mulai lagi dari Persiapan Langkah 4.

  • Di CMake, dengan langkah-langkah yang diberikan, "kesalahan" merah pada antarmuka tampaknya tidak menyebabkan masalah serius. Yang mengatakan, mungkin bermanfaat untuk secara umum mencatat kesalahan atau peringatan yang Anda temui.

  • Jika ada masalah serius, konfigurasi tidak akan selesai dan log kesalahan akan ditulis.

Anaksunaman
sumber
Setelah saya mengunduhnya, ke mana saya harus mengekstrak file? Apakah itu penting?
Jessica Chambers
Permintaan maaf. Dalam arti luas, itu seharusnya tidak masalah - di mana pun Anda percaya cocok secara keseluruhan. Saya akan tergoda untuk meletakkannya di suatu tempat dengan program atau perpustakaan saya yang lain (extractor yang dapat dieksekusi membuat opencv folder secara otomatis).
Anaksunaman
Yang mengatakan, untuk program Anda, itu mungkin memiliki opsi untuk menentukan path ke perpustakaan atau memerlukan. Jika Anda perlu menempatkannya secara manual, folder root atau mungkin ada bin folder kemungkinan adalah target. Namun, itu dugaan. Anda mungkin perlu membaca kembali dokumentasi untuk program Anda atau melakukan penelitian lebih lanjut. Perhatikan bahwa Anda harus menggunakan versi x32 (32-bit) atau x64 (64-bit) dari .dlls ini berdasarkan "bitness" dari program yang Anda coba jalankan (mis. Lagi, 32-bit atau 64 bit ).
Anaksunaman
ok saya sudah menginstal openCV (ikuti tutorial ini: learnopencv.com/install-opencv3-on-windows ) dan masih belum berhasil. Saya akhirnya turun lubang instalasi kelinci termasuk dlib dan MSBuild. Doc tidak memiliki informasi tentang persyaratan dll
Jessica Chambers
Jika Anda terus mengalami masalah, Anda mungkin ingin mempertimbangkan untuk menambahkan beberapa detail lebih lanjut tentang program mana yang Anda gunakan (jika mungkin) dan bagaimana (mis. Apa yang ingin Anda lakukan dengan itu atau mereka).
Anaksunaman