C6678 objectTracking
1.0.0
このドキュメントでは、このプロジェクトを実行するための手順を段階的に説明します。
このプロジェクトには 3 つの部分が含まれています。
これは、接続された USB Web カメラからビデオを読み取り、ビデオ フレームを 1024 バイトのチャンクに分割する単純な C++、C プログラムです。次に、パケットの最後の 2 バイトにエンコードされたヘッダー情報 (パケット番号) を追加します。そして、UDP 接続を開いてデータを C6678 に送信します。
-D OPENCV_GENERATE_PKGCONFIG=ON
実行するときに、追加のフラグを 1 つ追加する必要がありました。これにより、Makefile でpkg-config --cflags --libs opencv4
使用できるようになります。#define SERVER_IP "10.107.2.126
行を編集してアクセスできる任意の IP アドレスを指定するか、C6678 に同じアドレスを追加して C6678 を PC に直接接続します#define PORT 7
を使用します。このポートを使用するには、sudo 権限が必要な場合があります。 sudo の使用を避けるために、ポートを 1024 より大きい番号に変更します。make
、 make clean
を実行して、すべてのビルド ファイルをクリーンアップします。sudo ui
と入力して実行可能ファイルを実行します。VideoCapture vidIn(1);
接続されているカメラの番号は、カメラが接続された後に作成されるビデオのスタブ ファイル/dev/video1
または/dev/video2
で確認できます。fd = open("/dev/ttyACM0",O_RDWR | O_NOCTTY | O_NDELAY);
で正しい tty を使用しているかどうかを確認してください。シリアル通信のコードは github リポジトリ xanthium-eneterprises から取得されました。Projects->Import CCS Projects
に進み、 ti/mcsdk_2_01_02_05/examples/ndk/helloWorld/
でプロジェクトを選択します。ti/ccsv5/ccs_base/emulation/boards/evmc6678l/gel/evmc6678l.gel
をコア 0 に追加します。main()
関数内の対応するタスクのコメントを解除することで、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.