Инициализаторът на типа 'Emgu.CV.CvInvoke' направи изключение. Ако видите това изключение, моля, проверете следното
Инсталирал ли си MSVCRT? За версия 2.0+, включеният OpenCV 2.0 бинар е сглобен с Visual Studio 2008, трябва да инсталирате MSVCRT 9.0 SP1, за да решите проблема с зависимостите. За версия 1.5, пакетираният OpenCV pre1.1 бинар е сглобен с Visual Studio 2005, трябва да инсталирате MSVCRT 8.0 SP1, за да решите проблема с зависимостите. Копираш ли dll-овете на OpenCV в директорията за изпълнение? Уверете се, че неуправляваните DLL-и са в директорията за изпълнение. За Emgu CV версия <= 2.1 това означава следните dll-ове: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll,highguiXXX.dll, opencv_ffmpegXXX.dll mlXXX.dll andcvextern.dll, където XXX е OpenCV Номер на версията. За Emgu CV версия >= 2.2 това означава следните 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 е номерът на версията на OpenCV. Най-добрият начин да настроите проекта си е: Копирайте неуправляваните DLL-и в папката за проекта Кликнете с десен бутон върху проекта, изберете Add->ExistingItem и изберете всички неуправлявани DLL. Добавете ги към проекта. За всеки от включените DLL-ове, кликнете с ляв бутон, намерете опцията "Copyto Output Directory" и изберете "Copy, ако е нов" Използвате ли 32-битова операционна система? Windows инсталаторът е наличен само за 32-битови прозорци. Ако използвате 64-битова операционна система, има три възможни начина да решите този проблем:
Можеш да изтеглиш 64-битовия binary only zip пакет от sourceforge и да го добавиш към проекта си. Можете също да рекомпилирате OpenCV от изходния код за 64-битова платформа. Вижте инструкцията за изграждане fromSVN Алтернативно, можете да принудите .NET приложението да работи в 32-битов режим, дори на 64-битова операционна система. За да направите това, в конфигурационната страница на вашия изпълним проект изберете Platform Target as'x86'. Липсва ли ти някаква зависимост? Изтегли Dependency Walker и го използвай, за да отвориш файла "cvextern.dll". Провери дали липсва някаква зависимост.
Проверих всичко по-горе, но все пак получих theException В този случай, моля, опитайте да изградите и пуснете примерите. След като създадете примерите, опитайте да стартирате програмата "Hello World".
Ако "Hello World" работи без проблем, сравнете го с youproject, намерете разликата в конфигурацията и я оправете.
Ако "Hello World" получи същото "Инициализаторът на типа за Emgu. CV.CvInvoke' хвърли изключение." съобщение, опитайте се да намерите InnerException и да го докладвате във форума за дискусии
Тип инициализация на emgu. CV. Cvinvoke 'Прави изключения. Ако видите това изключение, моля, проверете следното Инсталирал ли си msvcrt? Версия 2+, пакетиран opencv 2 binary, е за сглобяване на Visual Studio 2008, и ще трябва да инсталирате edmsvcrt 9 SP1, за да решите проблеми с зависимостите. За версия 1.5, в комплекта с OpenCV pre1.1 binary build Visual Studio 2005, ще трябва да инсталирате edmsvcrt 8 SP1, за да решите проблемите с зависимостите. Директорията за изпълнение на opencv DLL, която копира? Уверете се, че неуправляваната DLL е в директорията за изпълнение. За версията на emgu CV< = 2.1, което означава следното DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll, mlxxx.dll andcvextern.dll wherexxx са версионните номера на opencv. За версията на emgu CV> = 2.2 Това означава, че следващата 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 е номерът на opencvversion. Най-добрият начин да изградите проекта си е: Неуправляван DLL е копиран в папката ти с проекта Кликнете с десен бутон върху проекта и изберете Add-> existingitem, за да изберете всички неуправлявани DLL-ове. Добавете ги към проекта. За всяка DLL, която съдържа, кликнете с ляв бутон, намерете опцията "Copy & Output Directory", изберете "Copy if updateed" Използвате ли 32-битова операционна система? Windows Installer може да предоставя само 32-битови Windows. Ако използвате 64-битова операционна система, има три възможни начина да решите този проблем: Можете да изтеглите 64-битовия zip пакет само за двоичен файл от sourceforge и да го добавите към проекта си. Можете също да компилирате OpenCV източници от 64-битови платформи. Вижте директивата на сградата fromsvn Или можеш да го принудиш. .NET приложенията работят в 32-битов режим, дори на 64-битови операционни системи. За да направите това, на страницата за конфигурация на вашия проект за изпълнение изберете целевата платформа as'x86". Липсват ли ти някакви зависимости? Изтеглете Dependent Walker и го използвай, за да отвориш "cvextern DLL файла". ”。 Проверете дали липсват някакви зависимости. Проверих всичко по-горе, но все още имам изключения В този случай опитайте да изградите и пуснете инстанция. След като създадеш инстанцията, опитай да стартираш програмата Hello World. Ако Hello World работи без проблеми, той се сравнява с youproject, открива структурни разлики и ги решава. Ако "hello world" получи същото "type initial value setter for'emgu". CV. Cvinvoke" прави изключение. съобщение, опитвам се да разбера вътрешното изключение във форума
|