C6678 objectTracking
1.0.0
Este documento fornece um procedimento passo a passo para executar este projeto.
Este projeto contém 3 porções.
Este é um programa C++ simples que lê vídeo de uma câmera web USB conectada e divide o quadro de vídeo em pedaços de 1024 bytes. Em seguida, adiciona informações de cabeçalho (número do pacote) codificadas nos dois últimos bytes do pacote. E envia os dados para C6678 abrindo uma conexão UDP.
-D OPENCV_GENERATE_PKGCONFIG=ON
Isso garante que você possa usar pkg-config --cflags --libs opencv4
no Makefile.#define SERVER_IP "10.107.2.126
para fornecer qualquer endereço IP que você possa acessar, ou adicione o mesmo endereço no C6678 e conecte o C6678 diretamente ao PC#define PORT 7
. Talvez seja necessário ter permissão sudo para usar esta porta. Mude a porta para algum número maior que 1024 para evitar o uso do sudomake
, make clean
para limpar todos os arquivos de construção.sudo ui
no terminalVideoCapture vidIn(1);
você pode descobrir o número da câmera conectada pelo arquivo stub para vídeo /dev/video1
ou /dev/video2
criado quando a câmera estiver conectadafd = open("/dev/ttyACM0",O_RDWR | O_NOCTTY | O_NDELAY);
O código para comunicação serial foi retirado do repositório github xanthium-eneterprisesProjects->Import CCS Projects
, selecione o projeto em ti/mcsdk_2_01_02_05/examples/ndk/helloWorld/
ti/ccsv5/ccs_base/emulation/boards/evmc6678l/gel/evmc6678l.gel
ao núcleo 0main()
no arquivo helloWorld.c. Você terá que adicionar $IMG_LIB_ROOT ao seu caminho de construção se estiver usando otcpdump
é uma opção mais legal * 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.