C6678 objectTracking
1.0.0
Dieses Dokument enthält eine Schritt-für-Schritt-Anleitung zur Ausführung dieses Projekts.
Dieses Projekt besteht aus 3 Teilen.
Dies ist ein einfaches C++,C-Programm, das Videos von einer angeschlossenen USB-Webkamera liest und den Videorahmen in Blöcke von 1024 Bytes aufteilt. Anschließend werden Header-Informationen (Paketnummer) hinzugefügt, die in den letzten beiden Bytes des Pakets codiert sind. Und sendet die Daten durch Öffnen einer UDP-Verbindung an C6678.
-D OPENCV_GENERATE_PKGCONFIG=ON
ein zusätzliches Flag hinzufügen. Dadurch wird sichergestellt, dass Sie pkg-config --cflags --libs opencv4
im Makefile verwenden können.#define SERVER_IP "10.107.2.126
um eine beliebige IP-Adresse anzugeben, auf die Sie zugreifen können, oder fügen Sie dieselbe Adresse in C6678 hinzu und verbinden Sie C6678 direkt mit dem PC#define PORT 7
. Möglicherweise benötigen Sie die Sudo-Berechtigung, um diesen Port verwenden zu können. Ändern Sie den Port auf eine Nummer größer als 1024, um die Verwendung von sudo zu vermeidenmake
und make clean
aus, um alle Build-Dateien zu bereinigen.sudo ui
eingebenVideoCapture vidIn(1);
Sie können die Nummer der angeschlossenen Kamera anhand der Stub-Datei für Video /dev/video1
oder /dev/video2
ermitteln, die erstellt wird, sobald die Kamera angeschlossen istfd = open("/dev/ttyACM0",O_RDWR | O_NOCTTY | O_NDELAY);
Der Code für die serielle Kommunikation wurde dem Github-Repository xanthium-eneterprises entnommenProjects->Import CCS Projects
und wählen Sie das Projekt in ti/mcsdk_2_01_02_05/examples/ndk/helloWorld/
aus.ti/ccsv5/ccs_base/emulation/boards/evmc6678l/gel/evmc6678l.gel
zu Kern 0 hinzumain()
in der Datei helloWorld.c entkommentieren. Sie müssen $IMG_LIB_ROOT zu Ihrem Build-Pfad hinzufügen, wenn Sie das verwendentcpdump
ist eine coolere Option * 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.