Inicjalizator typu dla 'Emgu.CV.CvInvoke' wywołał anexception. Jeśli zauważysz ten wyjątek, sprawdź następujące
Czy zainstalowałeś MSVCRT? W wersji 2.0+ dołączony plik OpenCV 2.0 jest zbudowany w Visual Studio 2008, musisz zainstalować MSVCRT 9.0 SP1, aby rozwiązać problem zależności. W wersji 1.5 dołączony plik OpenCV pre1.1 jest zbudowany w Visual Studio 2005, musisz zainstalować MSVCRT 8.0 SP1, aby rozwiązać problem zależności. Czy skopiowałeś dll-e OpenCV do katalogu wykonawczego? Upewnij się, że niezarządzane DLL znajdują się w katalogu wykonawczym. Dla wersji Emgu CV <= 2.1 oznacza to następujące dll: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll mlXXX.dll andcvextern.dll, gdzie XXX to OpenCV Numer wersji. Dla wersji CV Emgu >= 2.2 oznacza to następujące 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 gdzie XXX to numer wersji OpenCV. Najlepszym sposobem na przygotowanie projektu jest następujące: Skopiuj niezarządzane DLL do folderu projektu Kliknij prawym przyciskiem myszy na projekt, kliknij Add->ExistingItem i wybierz wszystkie niezarządzane DLL. Dodaj je do projektu. Dla każdego z dołączonych DLL-ów kliknij lewym przyciskiem myszy, znajdź opcję "Kopiuj do katalogu wyjściowego" i wybierz "Kopiuj, jeśli jest nowszy". Czy używasz 32-bitowego systemu operacyjnego? Instalator Windows jest dostępny tylko dla 32-bitowych okien. Jeśli używasz systemu operacyjnego 64-bitowego, istnieją trzy możliwe sposoby rozwiązania tego problemu:
Możesz pobrać pakiet zip tylko do binarnego pliku 64-bitowego z Sourceforge i dodać go do swojego projektu. Możesz także przekompilować OpenCV ze źródła dla platformy 64-bitowej. Zobacz instrukcje budowy od SVN Alternatywnie możesz wymusić działanie aplikacji .NET w trybie 32-bitowym, nawet na 64-bitowym systemie. Aby to zrobić, na stronie konfiguracyjnej swojego projektu wykonywalnego wybierz Platform Target jako 'x86'. Czy brakuje ci jakiegoś uzależnienia? Pobierz Dependency Walker i użyj go do otwarcia pliku "cvextern.dll". Sprawdź, czy nie brakuje jakiegoś uzależnienia.
Sprawdziłem wszystko powyżej, ale nadal mam wyjątek W takim przypadku proszę spróbuj zbudować i uruchomić przykłady. Po zbudowaniu przykładów spróbuj uruchomić program "Hello World".
Jeśli "Hello World" działa bez problemu, porównaj go z youproject, znajdź różnicę w konfiguracji i napraw ją.
Jeśli "Hello World" dostaniesz ten sam "Inicjalizator typu dla 'Emgu. CV.CvInvoke' rzucił wyjątek." spróbuj znaleźć InnerException i zgłoś to na forum dyskusyjne
Inicjalizacja typu EMGU. CV. CVINVOKE 'wstawiaj wyjątki. Jeśli zauważysz ten wyjątek, sprawdź następujące Czy zainstalowałeś msvcrt? Wersja 2+, dołączony opencv 2 binary, służy do budowania Visual Studio 2008, a do rozwiązania problemów z zależnościami trzeba zainstalować edmsvcrt 9 SP1. W wersji 1.5, dołączonej do pakietu OpenCV pre1.1 w wersji binarnej Visual Studio 2005, będziesz musiał zainstalować edmsvcrt 8 SP1, aby rozwiązać problemy z zależnościami. Katalog wykonania Opencv DLL, który skopiowałeś? Upewnij się, że niezarządzane DLL znajduje się w katalogu wykonawczym. Dla wersji emgu CV< = 2.1, co oznacza następujące DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll gdzie xxx to numery wersji opencv. Dla wersji emgu CV> = 2.2 Oznacza to, że następujący 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 to numer wersji opencvversion. Najlepszym sposobem na zbudowanie projektu jest następujące: Niezarządzane DLL skopiowane do folderu projektu Kliknij prawym przyciskiem myszy na projekt i kliknij Dodaj-> istniejący, aby zaznaczyć wszystkie niezarządzane DLL. Dodaj je do projektu. Dla każdego DLL, które zawiera, kliknij lewym przyciskiem myszy, znajdź opcję "Kopiuj i wyjdź katalog", wybierz "Kopiuj, jeśli zaktualizowano" Czy używasz 32-bitowego systemu operacyjnego? Instalator Windows może udostępnić tylko 32-bitowy Windows. Jeśli używasz systemu operacyjnego 64-bitowego, istnieją trzy możliwe sposoby rozwiązania tego problemu: Możesz pobrać pakiet zip tylko w 64-bitowym systemie binarnym fromsourceforge i dodać go do swojego projektu. Możesz także kompilować źródła OpenCV z platform 64-bitowych. Zobacz dyrektywę budowlaną od SVN Albo możesz wymusić swoje. Aplikacje .NET działają w trybie 32-bitowym, nawet na 64-bitowych systemach operacyjnych. Aby to zrobić, na stronie konfiguracji projektu wykonania wybierz cel platformy jako 'x86". Czy brakuje ci jakichś zależności? Pobierz Dependent Walker i użyj go do otwarcia "pliku cvextern DLL." ”。 Sprawdź, czy brakuje jakichś zależności. Sprawdziłem wszystko powyżej, ale nadal są wyjątki W takim przypadku spróbuj zbudować i uruchomić instancję. Po zbudowaniu instancji spróbuj uruchomić program Hello World. Jeśli Hello World działa bez problemów, porównuje się z twoim projektem, znajduje różnice strukturalne i rozwiązuje problem. Jeśli "hello world" dostanie to samo "type initial value setter for'emgu". CV. cvinvoke" rzuca wyjątek. Wiadomość, próbując znaleźć wyjątek na forum
|