C6678 objectTracking
1.0.0
本文檔提供了運行該專案的逐步流程。
此項目包含 3 個部分。
這是一個簡單的 C++,C 程序,它從連接的 USB 網路攝影機讀取視頻,將視訊幀分割成 1024 位元組的區塊。然後加入編碼在資料包最後兩個位元組中的標頭資訊(資料包編號)。並透過開啟 UDP 連線將資料傳送到 C6678。
-D OPENCV_GENERATE_PKGCONFIG=ON
時添加一個額外的標誌,這確保您可以在 Makefile 中使用pkg-config --cflags --libs opencv4
。#define SERVER_IP "10.107.2.126
行以提供您可以存取的任何 IP 位址,或在 C6678 中新增相同的位址並將 C6678 直接連接到 PC#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);
串行通訊的程式碼取自 github 儲存庫 xanthium-eneterprisesProjects->Import CCS Projects
,選擇ti/mcsdk_2_01_02_05/examples/ndk/helloWorld/
中的項目ti/ccsv5/ccs_base/emulation/boards/evmc6678l/gel/evmc6678l.gel
新增至 core 0main()
函數中對應任務的註解來開啟 LED 閃爍任務。如果您使用的是,則必須將 $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.