'Emgu.CV.CvInvoke' için tür başlatıcısı istisna verdi. Bu istisnayı görürseniz, lütfen aşağıdakileri kontrol edin
MSVCRT kurdunuz mu? Sürüm 2.0+ için, birlikte gelen OpenCV 2.0 ikili dosyası Visual Studio 2008 ile oluşturulmuştur, bağımlılık sorununu çözmek için MSVCRT 9.0 SP1 yüklemeniz gerekir. Sürüm 1.5 için, pakette gelen OpenCV pre1.1 ikili dosyası Visual Studio 2005 ile oluşturulmuştur, bağımlılık sorununu çözmek için MSVCRT 8.0 SP1 yüklemeniz gerekir. OpenCV dll'lerini yürütme dizinine kopyaladın mı? Yönetilmeyen DLL'lerin yürütme dizininde olduğundan emin olun. Emgu CV versiyonu <= 2.1 için bu, aşağıdaki dll'ler anlamına gelir: cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll,highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dll andcvextern.dll burada XXXX OpenCV'dir versiyon numarası. Emgu CV versiyonu >= 2.2 için bu, aşağıdaki dll'ler anlamına gelir: 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 burada XXX, OpenCV versiyon numarasıdır. Projenizi kurmanın en iyi yolu şudur: Yönetilmeyen DLL'leri proje klasörünüze kopyalayın Projeye sağ tıklayın, Add->ExistingItem'e tıklayın ve tüm yönetilmeyen DLL'leri seçin. Bunları projeye ekleyin. Dahil edilen her bir DLL için üzerine sol tıklayın, "Kopyalayıp Çıktı Dizinine Kopyala" seçeneğini bulun ve "Yeni Olursa Kopyala" seçeneğini seçin. 32-Bit işletim sistemi mi kullanıyorsunuz? Windows yükleyicisi sadece 32-Bit Windows için mevcut. 64-bit işletim sistemi kullanıyorsanız, bu sorunu çözmenin üç olası yolu vardır:
Sadece 64bit ikili zip paketini sourceforge'dan indirip projenize ekleyebilirsiniz. OpenCV'yi 64-bit platform için kaynak kaynaktan yeniden derleyebilirsiniz. Building fromSVN komutuna bakınız Alternatif olarak, .NET uygulamanızı 32bit modunda çalıştırmaya zorlayabilirsiniz, hatta 64-bit işletim sisteminde bile. Bunu yapmak için, yürütülebilir projenizin yapılandırma sayfasında Platform Hedefi as'x86' seçeneğini seçin. Herhangi bir bağımlılığı kaçırıyor musunuz? Dependency Walker'ı indirin ve "cvextern.dll" dosyasını açmak için kullanın. Herhangi bir bağımlılığın eksik olup olmadığını kontrol et.
Yukarıdakilerin hepsini kontrol ettim ama yine de Exception aldım Bu durumda, lütfen örnekleri oluşturup çalıştırmaya çalışın. Örnekleri oluşturduktan sonra "Hello World" Programını çalıştırmayı deneyin.
"Hello World" sorunsuz çalışıyorsa, youproject ile karşılaştırın, yapılandırmadaki farkı bulun ve düzeltin.
"Hello World" ise aynı "Emgu'nun tip başlatıcısı. CV.CvInvoke' bir istisna attı." mesajını gönderin, outtheInnerException bulmaya çalışın ve bunu tartışma forumuna bildirin
Emgu'nun tür başlatılması. CV。 İstisnalar koy. Bu istisnayı görürseniz, lütfen aşağıdakileri kontrol edin MSVCRT kurdunuz mu? Sürüm 2+, birlikte gelen opencv 2 ikili Visual Studio 2008 oluşturmak için ve bağımlılık sorunlarını çözmek için edmsvcrt 9 SP1 yüklemeniz gerekecek. Sürüm 1.5 için, OpenCV pre1.1 ikili derleme Visual Studio 2005 için, bağımlılık sorunlarını çözmek için edmsvcrt 8 SP1 yüklemeniz gerekecek. Kopyaladığınız opencv DLL yürütme dizinini? Yönetilmeyen DLL'nin yürütme dizininde olduğundan emin olun. Emgu CV versiyonu için< = 2.1, yani aşağıdaki DLL:cvxxx.dll,cvauxxxx.dll,cxcorexxx. DLL, highguixxx.dll, opencv_ffmpegxxx.dll mlxxx.dll andcvextern.dll burada xxx opencv'nin sürüm numaralarıdır. Emgu CV versiyonu için> = 2.2 Bu, aşağıdaki 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 numarasıdır. Projenizi inşa etmenin en iyi yolu şudur: Yönetilmeyen DLL proje klasörünüze kopyalandı Projeye sağ tıklayın ve mevcut öğeyi ekle> tüm yönetilmeyen DLL'leri seçin. Onları projeye ekleyin. İçindeki her DLL için üzerine sol tıklayın, "Kopyala ve Çıktı Dizini" seçeneğini bulun, "Güncellenmiş olursa Kopyala" seçeneğini seçin. 32-bit işletim sistemi mi kullanıyorsunuz? Windows Yükleyicisi yalnızca 32-bit Windows sağlayabilir. 64-bit işletim sistemi kullanıyorsanız, bu sorunu çözmenin üç olası yolu vardır: Sourceforge'dan sadece 64-bit ikili zip paketini indirip projenize ekleyebilirsiniz. Ayrıca 64-bit platformlardan OpenCV kaynaklarını derleyebilirsiniz. Bina fromsvn direktifine bakınız Ya da kendi saldırınızı zorlayabilirsiniz. .NET uygulamaları, 64-bit işletim sistemlerinde bile 32bit modunda çalışır. Bunu yapmak için, yürütme projenizin yapılandırma sayfasında platform hedefini 'x86" olarak seçin. Herhangi bir bağımlılığınız var mı? Bağımlı Walker dosyasını indirin ve "cvextern DLL dosyasını" açmak için kullanın. ”。 Herhangi bir bağımlılık eksik olup olmadığını kontrol et. Yukarıdakilerin hepsini kontrol ettim ama hala istisnalarım var Bu durumda, bir instance oluşturup çalıştırmayı deneyin. Örneği oluşturduktan sonra Hello World programını çalıştırmayı deneyin. Hello World sorunsuz çalışıyorsa, youproject ile karşılaştırılır, yapısal farklılıklar bulur ve çözer. Eğer "hello world" aynı "type initial value setter for'emgu" alırsa. CV。 cvinvoke" bir istisna getirir. mesaj, forumun içini bulmaya çalışıyorum
|