Inițializatorul de tip pentru 'Emgu.CV.CvInvoke' a aruncat o excepție. Dacă vedeți această excepție, vă rugăm să verificați următoarele
Ai instalat MSVCRT? Pentru versiunea 2.0+, binarul OpenCV 2.0 inclus este construit cu Visual Studio 2008, va trebui să instalezi MSVCRT 9.0 SP1 pentru a rezolva problema dependenței. Pentru versiunea 1.5, binarul OpenCV pre-1.1 inclus este construit cu Visual Studio 2005, va trebui să instalezi MSVCRT 8.0 SP1 pentru a rezolva problema dependenței. Ai copiat DLL-urile OpenCV în directorul de execuție? Asigură-te că DLL-urile negestionate sunt în directorul de execuție. Pentru versiunea Emgu CV <= 2.1, aceasta înseamnă următoarele DLL-uri: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll,highguiXXX.dll, opencv_ffmpegXXX.dll mlXXX.dll andcvextern.dll unde XXX este OpenCV Număr de versiune. Pentru versiunea CV Emgu >= 2.2, aceasta înseamnă următoarele DLL-uri: 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 unde XXX este numărul de versiune OpenCV. Cel mai bun mod de a-ți configura proiectul este: Copiază DLL-urile negestionate în folderul proiectului tău Dă click dreapta pe proiect, apasă pe Adaugă->ObiectulExistent și selectează toate DLL-urile negestionate. Adaugă-le în proiect. Pentru fiecare dintre DLL-urile incluse, faceți clic stânga pe ele, găsiți opțiunea "Copyto Output Directory" și selectați "Copyto if for newer" Folosești un sistem de operare pe 32 de biți? Instalatorul Windows este disponibil doar pentru ferestre pe 32 de biți. Dacă folosești un sistem de operare pe 64 de biți, există trei moduri posibile de a rezolva această problemă:
Poți descărca pachetul zip binar de 64 de biți de pe SourceForge și să-l adaugi în proiectul tău. De asemenea, poți recompila OpenCV din sursă pentru o platformă pe 64 de biți. Vezi instrucțiunile pentru construirea de la SVN Alternativ, poți forța aplicația .NET să ruleze în modul pe 32 biți, chiar și pe un sistem de operare pe 64 de biți. Pentru a face acest lucru, în pagina de configurare a proiectului tău executabil, selectează Platform Target ca 'x86'. Îți scapă vreo dependență? Descarcă Dependency Walker și folosește-l pentru a deschide fișierul "cvextern.dll". Verifică dacă lipsește vreo dependență.
Am verificat toate cele de mai sus, dar tot am primit excepția În acest caz, te rog să încerci să construiești și să rulezi exemplele. După ce construiești exemplele, încearcă să rulezi programul "Hello World".
Dacă "Hello World" rulează fără nicio problemă, compară-l cu youproject, găsește diferența de configurație și repară-o.
Dacă "Hello World" primește același "Inițializatorul de tip pentru Emgu. CV.CvInvoke' a aruncat o excepție." încearcă să afli din InnerException și raportează-l pe forumul de discuții
Inițializarea tipului EMGU. CV。 Cvinvoke 'pune excepții. Dacă vedeți această excepție, vă rugăm să verificați următoarele Ai instalat msvcrt? Versiunea 2+, cu binarul opencv 2 inclus, este pentru a construi Visual Studio 2008, iar tu va trebui să instalezi edmsvcrt 9 SP1 pentru a rezolva problemele de dependență. Pentru versiunea 1.5, versiunea binară OpenCV pre-1.1 pre-1 Visual Studio 2005, va trebui să instalezi edmsvcrt 8 SP1 pentru a rezolva problemele de dependență. Directorul de execuție DLL opencv pe care l-ai copiat? Asigură-te că DLL-ul negestionat se află în directorul de execuție. Pentru versiunea emgu CV< = 2.1, ceea ce înseamnă următoarele DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll unde xxx sunt numerele de versiune ale opencv. Pentru versiunea emgu CV> = 2.2 Aceasta înseamnă că următorul 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 este numărul opencvversion. Cea mai bună modalitate de a-ți construi proiectul este: DLL negestionat copiat în folderul proiectului tău Faceți clic dreapta pe proiect și apasă pe Adaugă > element existent pentru a selecta toate DLL-urile negestionate. Adaugă-i în proiect. Pentru fiecare DLL pe care îl conține, faceți clic stânga pe ea, găsiți opțiunea "Copy & Output Directory", selectați "Copy if update" Rulezi un sistem de operare pe 32 de biți? Windows Installer poate oferi doar Windows pe 32 de biți. Dacă folosești un sistem de operare pe 64 de biți, există trei moduri posibile de a rezolva această problemă: Poți descărca pachetul zip binar de 64 de biți de pe SourceForge și să-l adaugi în proiectul tău. Poți, de asemenea, compila surse OpenCV de pe platforme pe 64 de biți. Vezi directiva clădirii din svn Sau poți să-l forțezi pe al tău. Aplicațiile .NET rulează în modul 32 de biți, chiar și pe sisteme de operare pe 64 de biți. Pentru a face acest lucru, pe pagina de configurare a proiectului tău de execuție, selectează ținta platformei ca 'x86". Îți scapă vreo dependență? Descarcă Dependent Walker și folosește-l pentru a deschide "fișierul DLL cvextern". ”。 Verifică dacă lipsește vreo dependență. Am verificat toate cele de mai sus, dar tot mai am excepții În acest caz, încearcă să construiești și să rulezi o instanță. După ce construiești instanța, încearcă să rulezi programul Hello World. Dacă Hello World rulează fără probleme, se compară cu proiectul tău, găsește diferențe structurale și le rezolvă. Dacă "hello world" primește același "tip initial value setter for'emgu". CV。 Cvinvoke" face o excepție. Mesaj, încerc să găsesc în afara interexception-ului de pe forum
|