2009-02-02 6 views

ответ

2

Я предлагаю вам turn on Fusion logging и посмотреть, где находится , попробуйте, чтобы загрузить cxcore.dll, и убедитесь, что у вас есть это в нужном месте.

3

У вас нет нужной версии openCV, или у вас вообще нет установленной библиотеки openCV. В последней версии Emgu используется cxcore110.dll, в предыдущей версии используется cxcore100.dll. Они должны либо находиться в каталоге вашего приложения, либо в пути (вероятно,% system32%). У меня была эта проблема, когда я пытался запустить Emgu.

2

У меня такая же проблема. Я настраивал журнал Fusion, и это не помогло мне. Я запускаю сборку в том же каталоге, что и cxcore110.dll, поэтому я в тупике.

Далее я загрузил/скопировал все DLL OpenCV в каталог на моем пути, такую ​​же проблему.

Нашли решение после использования ходунки зависимостей. Он работал над любой системой VS2005 & VS2008. Если у вас только VS2008, вам понадобится пакет распространяемого пакета Microsoft Visual C++ 2005 SP1 (x86) s] 1.

11

Для Emgu CV версии < = 2.1, это означает, следующие: cvXXX.dll библиотеки DLL, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll и cvextern.dll, где ХХХ-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.

копию этих файлов и вставить их в C: \ WINDOWS \ system32

он работает со мной

3

После попытки все комбинации opencv_xxx Возможное, что он работал для меня было в том числе библиотеки npp32_42_9.dll. Надеюсь, поможет.

4

Эта ошибка произошла со мной. Я добавил cxcore210.dll (для версии emgucv 2.1), которая изначально находится внутри папки bin.

Тогда это вызвало новую ошибку о том, что я должен также включать в себя highgui210.dll (также для emgucv версии 2.1) ...

Тогда проблема была решена :)

Я надеюсь, что это работает для вас тоже ...

7

Вот как я мог бы решить эту проблему: Скопируйте адрес папки x86 (или x64 на 64-разрядной ОС) в папке «bin», где установлен ваш Emgu. Моя: C: \ Emgu \ emgucv-windows-universal-gpu 2.4.9.1847 \ bin \ x86

Затем вставьте этот адрес здесь: Панель управления> Система> Расширенные настройки системы> Переменные среды> в системных переменных нажмите «Путь» и нажмите «Редактирование»> добавить точку с запятой в конец строки там и вставьте адрес, который вы только что скопировали, в буфер обмена после этой точки с запятой> нажмите OK.

+0

дешевое и грязное решение, но это сработало для меня! – gonzobrains

+0

почему я не пробовал это 2 дня назад ??? – Zafar

+0

Это тоже сработало для меня –

0

У меня было это время и время ошибки. Я использовал EmguCV 2.4.9 и .Net framework 4.5. Я проверил множество учебников, но не нашел ответа. В конце, когда я положил файлы opencv как из версий 220, так и из 249, он сработал!

0

Скопируйте и вставьте все неуправляемые библиотеки DLL в папку bin вашей установки EMGU, где находится ваш exe-файл (отпустите или отлаживайте папку вашего проекта).
В моем случае, неуправляемые библиотеки являются в "C: \ Emgu \ emgucv-окон-универсальный-2.9.0.1922 CUDA \ Bin \ x86"

0

Я установил EmguCV 2,9 недавно. 64-разрядное приложение работает нормально. Это исключение появилось, когда я попытался использовать 32-битную платформу (x86).

Я понял, что, следуя учебному пособию по установке Emgu, я установил «Путь» в переменных системной среды в папку. \ X64. Для моего случая это C: \ Emgu \ emgucv-windows-universal-cuda 2.9.0.1922 \ bin \

Чтобы сделать работу 32-разрядного приложения, я изменил переменную «Путь» на. \ X86 папку, перезапустил компьютер. Откат назад - 64-битное решение больше не будет работать.

Идеальное решение для копирования всех DLL-файлов с. \ X86 или. \ X64 туда, где находится исполняемый файл. Для моего случая, потому что я использую LabVIEW + .NET DLL, LabVIEW получает копию DLL в свою папку с кешем, поэтому временное решение для легкой разработки - это изменить переменную «Путь». Когда я буду распространять финальный исполняемый файл, я скопирую соответствующие файлы DLL.

0

В моем случае, добавив эти файлы в Bin \ релизе решить эту проблему: npp32_42_9.dll и cudart32_42_9.dll

Это заняло у меня около 2 часов, чтобы заключить это :)

0

Я установил OpenCv2.3.1 до и вчера, я установил последнюю версию EmguCV3.0 (также попробовал 2.9), но он дал эту ошибку.

все решения, которые я пробовал, не работают, чем я установил EmguCV 2.3 и его решение. Я думаю, что версия EmguCV и opencv важна для решения.

0

Перепробовав много вещей, если ваши файлы .dll все правильно размещены и только версию проблема выходит попробовать следующие простые шаги:

  1. Открытых свойства созданного проекта
  2. Перейти к созданию раздела
  3. Изменить цель платформы на «Любой процессор»

Сохранить и перестроить проект.

2

Если вы уже установили dll и по-прежнему получаете исключение, попробуйте сделать следующее: Перейдите в «Свойства проекта» -> «Приложение» -> «Целевая структура» и измените его на NET. Рамки 4 и нажмите «Да». Запустите снова свое приложение, и оно должно работать нормально.

+0

Pff: |. После часа потратить на эту проблему, это решение отлично работало для emgucv 3.1 – caffeine

0

Мне потребовалось некоторое время, чтобы выяснить, почему это происходит в моем случае, поскольку ни одно из вышеперечисленных решений не решило проблему. Оказалось, что у меня установлен Windows 10 Pro N, который не имеет средств массовой информации. После установки Media Feature Pack он работал.