2015-07-29 19 views
6

Windows 7 makinemde OpenCV oluşturmaya çalışıyorum. Katkı modüllerini eklemek için CMake-gui'ye OPENCV_EXTRA_MODULES_PATH ekledim. Opencv-300.jar ve opencv-300.dll oluşturuldu ancak ekstra modülleri kullanmak için Java sınıflarını bulamıyorum. Yapılandırma yapılandırmasında bir seçenek eksik mi? Ekstra modülleri Java'dan kullanmak mümkün mü?Katkı modülleri ve Java sarıcısı ile OpenCV oluşturun

+0

Merhaba! Ekstra modüller ile OpenCV'yi başarılı bir şekilde yapıyorum ve Java için Jar dosyası oluşturdum, ki bunun iyi çalıştığını test ettim, ama bu Jar dosyasında yeni bir şey görmedim, yani Java için katkı kodunun olduğu yer, bu Jar Dosya Whit OpenCV download dosyası geldi Jar dosyası ile hemen hemen aynı. Eğer bana soruyu anlıyorsanız, lütfen bana Jar dosyasının inşasında nerede yanlış yaptığımı söyleyin Ya da böyle mi? Çok teşekkür ederim. Not: Jar dosyası oluştururken her şeyi ekledim –

cevap

5

Aynı problemi çözüyorum ve bu şekilde çözdüm. Oluşturmak istiyorsanız, katkı repo'undan belirli sürüm eşlemesini opencv sürümüyle indirmiş olduğunuzu hayal ediyorum. Yani dizine girin ve örneğin yüz modülü dizinine girin; Bu dizinde, düzenlemek zorunda olduğunuz CMakeLists.txt adlı bir dosya var. Bu dosya böyle olmalı:

set(the_description "Face recognition etc") 
ocv_define_module(face opencv_core opencv_imgproc opencv_objdetect WRAP python) 
# NOTE: objdetect module is needed for one of the samples 

Eğer opencv-3xx.jar kütüphanede org.opencv.face pakete sahip olmak istiyorsanız bu şekilde dosyanın 2 satır değiştirmek zorunda:

ocv_define_module(face opencv_core opencv_imgproc opencv_objdetect WRAP python java) 

Sonra size opencv-3xx.jar eklemek istiyorsanız https://github.com/itseez/opencv_contrib

Açıkçası aynı şey bütün contrib modülleri için geçerlidir contrib repo Readme.md gösterildiği gibi OpenCV derlemek zorunda kütüphane.

Umarım bu çözüm sizin için çalışır, bye!

+0

Wow! Cevap için teşekkürler. Beni çok fazla zaman kurtardın! Eğer bazı şeyleri otomatikleştirmek istiyorsanız, 'opencv_contrib/modules' ve 'grep -iR' WRAP python '' dizinlerini 'opencv_contrib/modules' olarak değiştirebilirsiniz. Eğer 'WRAP python'un tüm oluşumlarını 'WRAP python java' ile değiştirmek istediğinizi yazdıysanız,' find'ı çalıştırabilirsiniz. -name CMakeLists.txt -type f -print0 | xargs -0 sed -i/WRAP python/WRAP python java/g''. –

+0

xfeatures2d modülünde sörf kullanmak istiyorum. Ben senin çözüm denedim ama yaparken hatalar var: opencv/build/src/org/opencv/xfeatures2d/DAISY.java: 48: Hata: sysmbol bulunamadı. sorun ne? – sify

+0

Merhaba, Bazı iç nesneler için işaretçilerin desteklenmediği bir sorunum vardı. 'Dönüş tipi 'Ptr_Dictionary' işlevi atlayarak desteklenmiyor. Java sarıcı için destek eklemek için modül tarafında değiştirilmesi gereken bir fikriniz var mı? –