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
windows-10
dll
opencv
Jessica Chambers
sumber
sumber
Jawaban:
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. Sebuahopencv
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_core245.dll
Danopencv_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
danopencv_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
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.
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.
Unduh dan ekstrak kode sumber yang ditautkan sebelumnya (jika Anda belum melakukannya). Di mana Anda mengekstrak kode sumber adalah pilihan Anda.
Dengan asumsi CMake terinstal, buka antarmuka GUI (mis. Dari ikon di desktop Anda).
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:Setelah jalur ini dimasukkan, tekan Konfigurasikan di dekat bagian bawah jendela utama. Kotak dialog baru akan muncul.
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 misVisual Studio 14 2015 Win64
atauVisual Studio 15 2017 Win64
untuk membangun .dlls 64-bit yang sesuai: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.
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":
Temukan opsi build yang ditandai
BUILD_opencv_*
(dimana*
adalah nama sepertiapps
). Mereka semua harus berada dalam satu blok. Hapus centang pada kotak di sebelah setiap item, tidak termasukBUILD_opencv_core
danBUILD_opencv_ml
. tekan Konfigurasikan lagi. Setelah pemrosesan selesai sekali lagi, tekan Menghasilkan... . Ketika selesai, jendela CMake utama akan terlihat seperti ini: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:
Temukan
OpenCV.sln
solusi yang dihasilkan oleh CMake sebelumnya (mis. dalamC:\path\to\opencv-2.4.5\build
).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.
Setelah Visual Studio selesai, tekan Ctrl + H untuk membuka Temukan dan ganti kotak dialog, lalu lakukan hal berikut:
Find what:
memasukkan#include \<string\>
.Replace with:
memasukkan#include <algorithm>\n#include <string>
.Look in
untukEntire Solution
(sesuai kebutuhan).Find options
, memastikanUse Regular Expressions
ditandai.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 .:Setelah waktu singkat (di bawah 15 menit), kompilasi harus diselesaikan dan .dll yang hilang harus tersedia di bawah
install\bin
folder daribuild
direktori (misC:\path\to\opencv-2.4.5\build\install\bin
). Seperti disebutkan sebelumnya, .dlls di folder ini perlu ditempatkan di folder yang sama denganTITARL.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 untukVisual 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.
sumber
opencv
folder secara otomatis).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 ).