Инициализатор типа '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. Вы копировали dlls OpenCV в каталог исполнения? Убедитесь, что неуправляемые DLL находятся в директории исполнения. Для версии Emgu CV <= 2.1 это означает следующие dlls: 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» и выберите «Копировать, если новее» Вы используете 32-битную операционную систему? Установщик Windows доступен только для 32-битных окон. Если вы используете 64-битную ОС, есть три возможных способа решения этой проблемы:
Вы можете скачать 64-битный бинарный zip-пакет с sourceforge и добавить его в свой проект. Вы также можете перекомпилировать OpenCV с исходного кода для 64-битной платформы. См. инструкцию по сборке fromSVN В качестве альтернативы можно заставить ваше .NET-приложение работать в 32-битном режиме, даже на 64-битной ОС. Для этого на странице конфигурации исполняемого проекта выберите Target платформы как '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 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, где xxx — номера версий opencv. Для версии эмгу 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 в нём кликните левой кнопкой мыши, найдите опцию «Копировать и вывести каталог», выберите «Копировать при обновлении» Вы используете 32-битную операционную систему? Windows Installer может предоставлять только 32-битную Windows. Если вы используете 64-битную операционную систему, есть три возможных способа решения этой проблемы: Вы можете скачать 64-битный бинарный zip-пакет с sourceforge и добавить его в свой проект. Также можно компилировать исходные коды OpenCV с 64-битных платформ. См. директиву Building fromsvn Или можешь заставить свой. .NET-приложения работают в 32-битном режиме, даже на 64-битных операционных системах. Для этого на странице конфигурации вашего проекта по выполнению выберите цель платформы как 'x86". Вы упускаете какие-то зависимости? Скачайте Dependent Walker и используйте его, чтобы открыть «cvextern DLL-файл». ”。 Проверьте, не хватает ли зависимости. Я проверил всё вышеперечисленное, но у меня всё равно есть исключения В этом случае попробуйте собрать и запустить инстанс. После создания экземпляра попробуйте запустить программу Hello World. Если Hello World работает без проблем, он сравнивает с youproject, находит структурные различия и решает их. Если «hello world» получит тот же «ввести начальный задаватель значения для emgu». CV。 Cvinvoke» — исключение. Сообщение, пытаюсь выяснитьInnerexception на форуме
|