C6678 objectTracking
1.0.0
توفر هذه الوثيقة إجراءً خطوة بخطوة لتشغيل هذا المشروع.
يحتوي هذا المشروع على 3 أجزاء.
هذا برنامج C++,C بسيط يقرأ الفيديو من كاميرا ويب USB متصلة، ويقسم إطار الفيديو إلى أجزاء يبلغ حجمها 1024 بايت. ثم يضيف معلومات الرأس (رقم الحزمة) المشفرة في آخر بايتين من الحزمة. ويرسل البيانات إلى C6678 عن طريق فتح اتصال UDP.
-D OPENCV_GENERATE_PKGCONFIG=ON
وهذا يضمن أنه يمكنك استخدام pkg-config --cflags --libs opencv4
في ملف Makefile.#define SERVER_IP "10.107.2.126
لإعطاء أي عنوان IP يمكنك الوصول إليه، أو أضف نفس العنوان في C6678 وقم بتوصيل C6678 مباشرة بالكمبيوتر#define PORT 7
. قد يتعين عليك الحصول على إذن sudo لاستخدام هذا المنفذ. قم بتغيير المنفذ إلى رقم أكبر من 1024 لتجنب استخدام sudomake
, make clean
لتنظيف كافة ملفات البناء .sudo ui
في المحطةVideoCapture vidIn(1);
يمكنك معرفة رقم الكاميرا المتصلة من خلال الملف الأساسي للفيديو /dev/video1
أو /dev/video2
الذي تم إنشاؤه بمجرد توصيل الكاميراfd = open("/dev/ttyACM0",O_RDWR | O_NOCTTY | O_NDELAY);
تم أخذ رمز الاتصال التسلسلي من مستودع جيثب xanthium-eneterprisesProjects->Import CCS Projects
، وحدد المشروع في ti/mcsdk_2_01_02_05/examples/ndk/helloWorld/
ti/ccsv5/ccs_base/emulation/boards/evmc6678l/gel/evmc6678l.gel
إلى النواة 0main()
في ملف helloWorld.c. سيتعين عليك إضافة $IMG_LIB_ROOT إلى مسار البناء الخاص بك إذا كنت تستخدم ملفtcpdump
خيارًا أكثر برودة * Unless you dont know exactly what you are doing, dont use semaphores. Semaphores are used for mutual exclusion of two tasks. But in most of the cases, we want the threads to run in parallel.
* Dont use blocking calls inside tasks
* .y files given by TI are simple binary files, you dont need a special software for that you can write a simple c code for binary file manipulation, or use matlab/octave for the same. Octave file is given in this repository.
* check and make sure that you have matching image dimensions everywhere.To avoid redefinition, in most places we use the `extern` keyword in c file.