Tipo iniciatorius 'Emgu.CV.CvInvoke' išmetė išimtį. Jei matote šią išimtį, patikrinkite šiuos dalykus
Ar įdiegėte MSVCRT? 2.0+ versijoje susietas OpenCV 2.0 dvejetainis failas yra sukurtas suVisual Studio 2008, turėsite įdiegtiMSVCRT 9.0 SP1, kad išspręstumėte priklausomybės problemą. 1.5 versijoje susietas OpenCV pre1.1 dvejetainis failas yra sukurtas suVisual Studio 2005, turėsite įdiegti MSVCRT 8.0 SP1, kad išspręstumėte priklausomybės problemą. Ar nukopijavote OpenCV DLL į vykdymo katalogą? Įsitikinkite, kad nevaldomi DLL yra vykdymo kataloge. Emgu CV versijai <= 2.1 tai reiškia šiuos dlls: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll,highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll andcvextern.dll kur XXX yra OpenCV versijos numeris. Emgu CV versijai >= 2.2 tai reiškia šiuos 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, kur XXX yra OpenCVversion numeris. Geriausias būdas sukurti projektą yra: Nevaldomų DLL kopijavimas į projekto aplanką Dešiniuoju pelės mygtuku spustelėkite projektą, spustelėkite Add->ExistingItem ir pasirinkite visus nevaldomus DLL. Pridėkite juos prie projekto. Kiekvienam iš įtrauktų DLL kairiuoju pelės mygtuku spustelėkite jį, raskite parinktį "Kopijuoti į išvesties katalogą" ir pasirinkite "Kopijuoti, jei naujesnis" Ar naudojate 32 bitų OS? "Windows" diegimo programa galima tik 32 bitų langams. Jei naudojate 64 bitų OS, yra trys galimi būdai, kaip išspręsti šią problemą:
Galite atsisiųsti 64 bitų dvejetainį tik zip paketą išsourceforge ir pridėti jį prie savo projekto. Taip pat galite iš naujo kompiliuoti OpenCV iš šaltinio 64 bitų platformai. Žiūrėkite instrukciją, kaip pastatyti išSVN Arba galite priversti .NET programą veikti 32 bitų režimu, net ir 64 bitų OS. Norėdami tai padaryti, vykdomojo projekto konfigūracijos puslapyje pasirinkite Platformos paskirtis kaip'x86'. Ar jums trūksta priklausomybės? Atsisiųskite "Dependency Walker" ir naudokite jį failui "cvextern.dll" atidaryti. Patikrinkite, ar nėra priklausomybės.
Patikrinau visa tai, kas išdėstyta aukščiau, bet vis tiek gavauIšimtis Tokiu atveju pabandykite sukurti ir paleisti pavyzdžius. Sukūrę pavyzdžius, pabandykite paleisti programą "Sveikas pasaulis".
Jei "Hello World" veikia be jokių problemų, palyginkite jį su youproject, raskite konfigūracijos skirtumą ir ištaisykite.
Jei "Hello World" gauti tą patį "Tipo iniciatorius'Emgu. CV.CvInvoke' metė išimtį." pranešimą, pabandykite sužinoti theInnerException ir praneškite apie tai diskusijų forume
Įveskite EMGU inicijavimą. CV. cvinvoke 'įdėti išimtis. Jei matote šią išimtį, patikrinkite šiuos dalykus Ar įdiegėte msvcrt? 2+ versija, susieta su opencv 2 dvejetainiu failu, skirta sukurti "Visual Studio 2008", o norint išspręsti priklausomybės problemas, turėsite įdiegti edmsvcrt 9 SP1. Jei naudojate 1.5 versiją, susietą su OpenCV pre1.1 dvejetaine komponavimo versija Visual Studio 2005, turėsite įdiegti edmsvcrt 8 SP1, kad išspręstumėte priklausomybės problemas. Opencv DLL vykdymo katalogas, kurį nukopijavote? Įsitikinkite, kad nevaldomas DLL yra vykdymo kataloge. Emgu CV versijai< = 2.1, o tai reiškia šiuos DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll kur xxx yra opencv versijų numeriai. Emgu CV versijai> = 2.2 Tai reiškia, kad šis 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 yra opencvversion numeris. Geriausias būdas sukurti projektą yra: Nevaldomas DLL nukopijuotas į projekto aplanką Dešiniuoju pelės mygtuku spustelėkite projektą ir spustelėkite Pridėti > esamąelementą, kad pasirinktumėte visus nevaldomus DLL. Įtraukite juos į projektą. Kiekvienam jame esančiam DLL kairiuoju pelės mygtuku spustelėkite jį, raskite parinktį "Kopijuoti ir išvesti katalogą", pasirinkite "Kopijuoti, jei atnaujinta" Ar naudojate 32 bitų operacinę sistemą? "Windows Installer" gali teikti tik 32 bitų "Windows". Jei naudojate 64 bitų operacinę sistemą, yra trys galimi šios problemos sprendimo būdai: Galite atsisiųsti 64 bitų dvejetainį tik zip paketą iš sourceforge ir pridėti jį prie savo projekto. Taip pat galite kompiliuoti OpenCV šaltinius iš 64 bitų platformų. Žr. statybos nuosvn direktyvą Arba galite priversti savo. .NET programos veikia 32 bitų režimu, net ir 64 bitų operacinėse sistemose. Norėdami tai padaryti, vykdymo projekto konfigūracijos puslapyje pasirinkite platformos tikslą kaip'x86". Ar jums trūksta priklausomybių? Atsisiųskite "Dependent Walker" ir naudokite jį norėdami atidaryti "cvextern DLL failą". ”。 Patikrinkite, ar nėra priklausomybių. Patikrinau visa tai, kas išdėstyta aukščiau, bet vis dar turiu išimčių Tokiu atveju pabandykite sukurti ir paleisti egzempliorių. Sukūrę egzempliorių pabandykite paleisti programą "Hello World". Jei "Hello World" veikia be jokių problemų, jis lyginamas su jumiprojektas, randa struktūrinius skirtumus ir juos išsprendžia. Jei "hello world" gauna tą patį "tipo pradinės vertės setter for'emgu". CV. cvinvoke" meta išimtį. pranešimas, bando sužinotitheinnerexception į forumą
|