سؤال

أنا أشعر باليأس !! أحاول استخدام OpenCV في جافا, ، عبر جافاكف (JNA لالتفاف opencv لجافا).

أنا على Mac OS X. 1.5.

لقد قمت بتثبيت OpenCV ، ويمكنني تجميع وتشغيل الأمثلة المدرجة. بحيث يعمل.

الآن أنا فتح كسوف, ، وأنا أقوم بإنشاء مشروع جديد ، كما هو موضح هنا:http://code.google.com/p/javacv/

في هذا المشروع الجديد ، فئة صغيرة واحدة فقط مع مكالمة إلى وظيفة OpenCV (استخدمت رمز العينة):

import static name.audet.samuel.javacv.jna.cxcore.*;
import static name.audet.samuel.javacv.jna.cv.*;
import static name.audet.samuel.javacv.jna.highgui.*;
import static name.audet.samuel.javacv.jna.cvaux.*;

public class Test {
    public static void main(String[] args) {
        IplImage image = cvLoadImage("test.png", 1);
        if (image == null) {
            System.err.println("Could not load image file.");
        } else {
            cvSmooth(image, image, CV_GAUSSIAN, 3, 0, 0, 0);
            // ...
        }
    }
}

عندما أقوم بتشغيله ، لدي الخطأ التالي:

استثناء في الموضوع "الرئيسي" java.lang.unsatisfiedlinkerror: غير قادر على تحميل المكتبة "CXCORE": dlopen (libcxcore.dylib ، 9): صورة غير موجودة

من فضلك ، أنا بحاجة إلى مساعدة ، نظرت إلى Google لساعات ، لا أعرف من أين أبحث عنه بعد الآن.

هل كانت مفيدة؟

المحلول

اتضح أن إصدار SVN لم يكن متوافقًا مع JavaCV.

قمت بتنزيل أحدث إصدار رسمي (2.1) وقمت بتجميعه وقمت بتثبيته ، وهو يعمل.

نرى http://code.google.com/p/javacv/issues/detail؟id=19

نصائح أخرى

تحتاج إلى ربط هاتين المكتبتين:

- javacpp.jar
- javacv.jar

في javacv/lib-opencv/win_x86_64 ، يجب أن يكون لديك ملفات من مثلك:

 - msvcp100.dll
 - msvcr100.dll
 - opencv_core220.dll
 - opencv_calib3d220.dll
 - ...

يجب تجميع هذه DLLs لمنصة الخاصة بك (Win 32 / Win 64 / Linux / إلخ.

يجب عليك تحديد المسار إلى ملفات Opnecv DLL:

-Djava.library.path=lib-opencv/win_x86_64/
- or the DLLs have to be somewhere in your system PATH of your operating system

كنت قد نظرت إلى هذه المشكلة لفترة من الوقت ، حيث يقترح OP جميع أنواع المشكلات في الزحف من الأعمال الخشبية. لقد مررت بمجموعة من منشورات Stackoverflow لتتمكن من التوصل إلى تجربة غير مؤلمة نسبيًا لإعداد مشروع OpenCV في Java. ذهبت من خلال Javacv ووجدت أنها لم تلبي احتياجاتي. ومع ذلك ، تمكنت من تنفيذ الوظائف المباشرة المشار إليها في منشورات OpenCV (مشاركات C ++) ولكن بلغة Java عندما استخدمت بعض إصدارات Javacpp. كان لدي الكثير من مشكلات التجميع أيضًا نظرًا لأن Javacpp يعتمد على مكتبات C ++ المترجمة التي يجب أن تكون أصلية للبيئة التي يوجد فيها المستخدم (شيء يحب الأشخاص الذين يعيشون في Java Land عدم التعامل معه). على أي حال كنت قادرا على بناء والبيئة مع Maven. أستخدم Eclipse ولكن هذا يجب أن يعمل بشكل جيد مع بيئات البرمجة الأخرى. لقد وضعت مثالًا على مثال لتوضيح كيفية البدء في إنشاء مشروع bootstrap والبدء في العمل. يقارن المشروع صورتين ، بالنظر إلى عناوين URL الخاصة بهم. إنه اختبار للمساواة ، ويذبل الصور متطابقة أم لا. نأمل أن يساعد هذا الأشخاص في إعداد وإعداد العمل في هذه البيئة وتجنب أطنان وأطنان من المزالق التي واجهتها عند محاولة العمل مع OpenCV في Java (كنت في نفس المكان بالضبط مثل OP عقليًا في ذلك الوقت :)).

المثال: https://github.com/darkhipo/imgzcmp

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top