O inicializador de tipo para 'Emgu.CV.CvInvoke' lançou uma exceção. Se você perceber essa exceção, por favor, verifique o seguinte
Você instalou o MSVCRT? Para a versão 2.0+, o binário OpenCV 2.0 incluído foi compilado com o Visual Studio 2008, você precisará instalar o MSVCRT 9.0 SP1 para resolver o problema de dependência. Para a versão 1.5, o binário OpenCV pré-1.1 incluído foi compilado com o Visual Studio 2005, você precisará instalar o MSVCRT 8.0 SP1 para resolver o problema de dependência. Você já copiou as DLLs do OpenCV para o diretório de execução? Certifique-se de que as DLLs não gerenciadas estejam no diretório de execução. Para a versão Emgu CV <= 2.1, isso significa as seguintes DLLs: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll,highguiXXX.dll, opencv_ffmpegXXX.dll mlXXX.dll andcvextern.dll onde XXX é o OpenCV Número da versão. Para a versão CV do Emgu >= 2.2, isso significa as seguintes 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 onde XXX é o número da versão do OpenCV. A melhor forma de configurar seu projeto é: Copie as DLLs não gerenciadas para a pasta do seu projeto Clique com o botão direito no projeto, clique em Adicionar >ItemDeExistenteE selecione todas as DLLs não gerenciadas. Adicione-as ao projeto. Para cada uma das DLLs incluídas, clique com o botão esquerdo, encontre a opção "Copiar para o Diretório de Saída" e selecione "Copiar se for mais recente" Você está usando um sistema operacional de 32 bits? O instalador do Windows está disponível apenas para janelas de 32 bits. Se você está usando um sistema operacional de 64 bits, existem três maneiras possíveis de resolver esse problema:
Você pode baixar o pacote zip binário de 64 bits do FromSourceForge e adicioná-lo ao seu projeto. Você também pode recompilar o OpenCV a partir da fonte para uma plataforma de 64 bits. Veja a instrução para construir a partir do SVN Alternativamente, você pode forçar seu aplicativo .NET a rodar no modo 32 bits, mesmo em um sistema operacional de 64 bits. Para isso, na página de configuração do seu projeto executável, selecione Plataforma Alvo como 'x86'. Você está deixando passar alguma dependência? Baixe o Dependency Walker e use-o para abrir o arquivo "cvextern.dll". Verifique se falta alguma dependência.
Verifiquei tudo acima, mas ainda assim recebi a Exceção Nesse caso, por favor, tente construir e rodar os exemplos. Depois de construir os exemplos, tente rodar o Programa "Hello World".
Se o "Hello World" roda sem problemas, compare com o youproject, veja a diferença na configuração e resolva.
Se "Hello World" receber o mesmo "Inicializador de tipo para'Emgu. CV.CvInvoke' lançou uma exceção.", tente descobrir o InnerException e reporte isso no fórum de discussão
inicialização do tipo de emgu. CV. Pode criar exceções. Se você perceber essa exceção, por favor, verifique o seguinte Você instalou o msvcrt? Versão 2+, binário do OpenCV 2 incluído, serve para compilar o Visual Studio 2008, e você precisará instalar o edmsvcrt 9 SP1 para resolver questões de dependência. Para a versão 1.5, compilação binária do OpenCV pré-1.1 no Visual Studio 2005, você precisará instalar o edmsvcrt 8 SP1 para resolver questões de dependência. O diretório de execução do OpenCV DLL que você copiou? Certifique-se de que a DLL não gerenciada esteja no diretório de execução. Para a versão CV do emgu< = 2.1, o que significa os seguintes DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll onde xxx são os números de versão do opencv. Para a versão CV do emgu> = 2.2 Isso significa que o seguinte 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 é o número da versão opencv. A melhor forma de construir seu projeto é: DLL não gerenciada copiada para a pasta do seu projeto Clique com o botão direito no projeto e clique em Adicionar > item existente para selecionar todas as DLLs não gerenciadas. Adicione-os ao projeto. Para cada DLL que contém, clique com o botão esquerdo nela, encontre a opção "Copiar & Exportar Diretório", selecione "Copiar se for atualizado" Você roda um sistema operacional de 32 bits? O Windows Installer só pode fornecer Windows de 32 bits. Se você está usando um sistema operacional de 64 bits, existem três maneiras possíveis de resolver esse problema: Você pode baixar o pacote zip binário de 64 bits do FromSourceForge e adicioná-lo ao seu projeto. Você também pode compilar fontes OpenCV a partir de plataformas de 64 bits. Veja a diretiva do edifício fromsvn Ou você pode forçar o seu. Aplicações .NET rodam em modo 32 bits, mesmo em sistemas operacionais de 64 bits. Para isso, na página de configuração do seu projeto de execução, selecione o alvo da plataforma como 'x86". Você está deixando passar alguma dependência? Baixe o Dependent Walker e use-o para abrir o "arquivo DLL cvextern." ”。 Verifique se há alguma dependência faltando. Verifiquei tudo o que foi dito acima, mas ainda tenho exceções Nesse caso, tente construir e rodar uma instância. Depois de construir a instância, tente rodar o programa Hello World. Se o Hello World roda sem problemas, ele se compara ao seu projeto, encontra diferenças estruturais e resolve. Se "hello world" receber o mesmo "type, initial value setter for'emgu". CV. cvinvoke" faz uma exceção. mensagem, tentando descobrir outtheinnerexception do fórum
|