Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 19471|Jawab: 0

[Sumber] "Jenis inisialisasi untuk 'Emgu.CV.CvInvoke' memunculkan pengecualian"?

[Salin tautan]
Diposting pada 25/11/2015 10.57.59 | | |
Jenis inisialisasi untuk 'Emgu.CV.CvInvoke' melemparkan pengecualian.
Jika Anda melihat pengecualian ini, silakan periksa hal berikut

Sudahkah Anda menginstal MSVCRT?
Untuk Versi 2.0+, biner OpenCV 2.0 yang dibundel dibangun denganVisual Studio 2008, Anda perlu menginstalMSVCRT 9.0 SP1 untuk menyelesaikan masalah dependensi.
Untuk Versi 1.5, biner OpenCV pre1.1 yang dibundel dibangun denganVisual Studio 2005, Anda perlu menginstalMSVCRT 8.0 SP1 untuk menyelesaikan masalah dependensi.
Sudahkah Anda menyalin dlls OpenCV ke direktori eksekusi?
Pastikan DLL yang tidak dikelola berada di direktori eksekusi.
Untuk Emgu CV versi <= 2.1, ini berarti DLL berikut: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll,highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll andcvextern.dll di mana XXX adalah OpenCV nomor versi.
Untuk Emgu CV versi >= 2.2 ini berarti dll berikut: opencv_calib3dXXX.dll, opencv_contribXXX.dll,opencv_coreXXX.dll, opencv_features2dXXX.dll,opencv_highguiXXX.dll, opencv_ imgprocXXX.dll, opencv_legacyXXX.dll,opencv_mlXXX.dll, opencv_objectdetectXXX.dll,opencv_videoXXX.dll di mana XXX adalah nomor versi OpenCV.
Cara terbaik untuk menyiapkan proyek Anda adalah:
Salin DLL yang tidak dikelola ke folder proyek Anda
Klik kanan pada proyek, klik Add->ExistingItem dan pilih semua DLL yang tidak dikelola. Tambahkan ke proyek.
Untuk setiap DLL yang disertakan, klik kiri padanya, temukan opsi "Salin ke Direktori Output" dan pilih "Salin jika lebih baru"
Apakah Anda menjalankan OS 32-Bit?
Penginstal windows hanya tersedia untuk jendela 32-Bit. Jika Anda menggunakan OS 64-bit, ada tiga cara yang mungkin untuk mengatasi masalah ini:

Anda dapat mengunduh paket zip biner 64bit saja dari sourceforge dan menambahkannya ke proyek Anda.
Anda juga dapat mengkompilasi ulang OpenCV dari sumber untuk platform 64-bit. Lihat instruksi untuk membangun dariSVN
Atau, Anda dapat memaksa aplikasi .NET Anda untuk berjalan dalam mode 32bit, bahkan pada OS 64-bit. Untuk melakukan ini, di halaman konfigurasi proyek yang dapat dieksekusi Anda, pilih Target Platform sebagai 'x86'.
Apakah Anda kehilangan ketergantungan?
Unduh Dependency Walker dan gunakan untuk membuka file "cvextern.dll". Periksa apakah ada dependensi yang hilang.

Saya telah memeriksa semua di atas tetapi saya masih mendapatkanPengecualian
Dalam hal ini, silakan coba build dan jalankan contoh. Setelah membuat contoh, coba jalankan Program "Hello World".

Jika "Hello World" berjalan tanpa masalah, bandingkan dengan youproject, temukan perbedaan konfigurasi dan perbaiki.

Jika "Hello World" mendapatkan "Jenis inisializer untuk'Emgu. CV.CvInvoke' melemparkan pengecualian."



Jenis inisialisasi EMGU. CV. cvinvoke 'menempatkan pengecualian.
Jika Anda melihat pengecualian ini, silakan periksa hal berikut
Sudahkah Anda menginstal msvcrt?
Versi 2+, biner opencv 2 yang dibundel adalah untuk membangun Visual Studio 2008, dan Anda perlu menginstal edmsvcrt 9 SP1 untuk menyelesaikan masalah dependensi.
Untuk versi 1.5, build biner OpenCV pre1.1 yang dibundel Visual Studio 2005, Anda perlu menginstal edmsvcrt 8 SP1 untuk menyelesaikan masalah dependensi.
Direktori eksekusi DLL opencv yang Anda salin?
Pastikan DLL yang tidak dikelola berada di direktori eksekusi.
Untuk versi emgu CV< = 2.1, yang berarti berikut DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll, mlxxx.dll andcvextern.dll wherexxx adalah nomor versi opencv.
Untuk versi emgu CV> = 2.2 Artinya, berikut DLL:opencv_calib3dxxx.dll, opencv_contribxxx. DLL,opencv_corexxx.dll,opencv_features2dxxx。 DLL,opencv_highguixxx.dll,opencv_imgprocxxx.dll,opencv_legacyxxx。 DLL,opencv_mlxxx.dll,opencv_objectdetectxxx。 DLL, opencv_videoxxx.dll XXX adalah nomor opencvversion.
Cara terbaik untuk membangun proyek Anda adalah:
DLL yang tidak dikelola disalin ke folder proyek Anda
Klik kanan pada proyek dan klik Tambahkan >item yang ada untuk memilih semua DLL yang tidak dikelola. Tambahkan ke proyek.
Untuk setiap DLL yang dikandungnya, klik kiri padanya, temukan opsi "Salin & Output Directory", pilih "Salin jika diperbarui"
Apakah Anda menjalankan sistem operasi 32-bit?
Windows Installer hanya dapat menyediakan Windows 32-bit. Jika Anda menggunakan sistem operasi 64-bit, ada tiga cara yang mungkin untuk mengatasi masalah ini:
Anda dapat mengunduh paket zip biner 64-bit saja dari sourceforge dan menambahkannya ke proyek Anda.
Anda juga dapat mengkompilasi sumber OpenCV dari platform 64-bit. Lihat direktif bangunan fromsvn
Atau Anda dapat memaksakan milik Anda. Aplikasi .NET berjalan dalam mode 32bit, bahkan pada sistem operasi 64-bit. Untuk melakukan ini, pada halaman konfigurasi proyek eksekusi Anda, pilih target platform sebagai'x86".
Apakah Anda kehilangan dependensi apa pun?
Unduh Dependent Walker dan gunakan untuk membuka "file DLL cvextern". ”。 Periksa apakah ada dependensi yang hilang.
Saya memeriksa semua hal di atas tetapi saya masih memiliki pengecualian
Dalam hal ini, coba buat dan jalankan instance. Setelah membuat instance, coba jalankan program Hello World.
Jika Hello World berjalan tanpa masalah, Hello World membandingkan dengan youproject, menemukan perbedaan struktural dan menyelesaikannya.
Jika "hello world" mendapatkan "ketik set nilai awal untuk'emgu" yang sama. CV. cvinvoke" melemparkan pengecualian. pesan, mencoba mencari tahu outtheinnerpengecualian ke forum





Mantan:Tutorial terperinci untuk 0 gelang Yuanlu Xiaomi dan produk lainnya
Depan:C# mengimpor dan memanggil fungsi API Win32 melalui DllImport
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com