C6678 objectTracking
1.0.0
เอกสารนี้ให้ขั้นตอนโดยขั้นตอนในการดำเนินโครงการนี้
โครงการนี้มี 3 ส่วน
นี่เป็นโปรแกรม C++,C ธรรมดาที่อ่านวิดีโอจากกล้องเว็บ USB ที่เชื่อมต่อ โดยแยกเฟรมวิดีโอออกเป็นชิ้นขนาด 1,024 ไบต์ จากนั้นเพิ่มข้อมูลส่วนหัว (หมายเลขแพ็กเก็ต) ที่เข้ารหัสในสองไบต์สุดท้ายของแพ็กเก็ต และส่งข้อมูลไปที่ 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 เพื่อใช้พอร์ตนี้ เปลี่ยนพอร์ตเป็นตัวเลขที่มากกว่า 1,024 เพื่อหลีกเลี่ยงการใช้ sudomake
make clean
เพื่อล้างไฟล์ build ทั้งหมดsudo ui
ในเทอร์มินัลVideoCapture vidIn(1);
คุณสามารถค้นหาหมายเลขกล้องที่เชื่อมต่อได้จากไฟล์ stub สำหรับวิดีโอ /dev/video1
หรือ /dev/video2
ที่สร้างขึ้นเมื่อเสียบปลั๊กกล้องแล้วfd = open("/dev/ttyACM0",O_RDWR | O_NOCTTY | O_NDELAY);
รหัสสำหรับการสื่อสารแบบอนุกรมถูกนำมาจาก xanthium-eneterprises ที่เก็บ githubProjects->Import CCS Projects
เลือกโปรเจ็กต์ใน ti/mcsdk_2_01_02_05/examples/ndk/helloWorld/
ti/ccsv5/ccs_base/emulation/boards/evmc6678l/gel/evmc6678l.gel
ไปที่ core 0main()
ในไฟล์ helloWorld.c คุณจะต้องเพิ่ม $IMG_LIB_ROOT ให้กับเส้นทางการ build ของคุณหากคุณใช้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.