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.