Ініціалізатор типу '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 це означає такі dlls: 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-бітній ОС. Для цього на сторінці конфігурації вашого виконуваного проєкту виберіть 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 бінарної збірки 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, яку він містить, клацніть лівою кнопкою миші, знайдіть опцію «Копіювати та вивести каталог», виберіть «Копіювати, якщо оновлено» Ви використовуєте 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" отримає те саме "ввести початковий встановлювач значення для emgu". CV。 Cvinvoke» робить виняток. повідомлення, намагаюся знайти innerexception на форумі
|