hogのopencv実装をコンパイルして実行します

バックグラウンド

ここでは、LitmusRT、pgmRTなどの以前のインストールが実験用に準備されているため、litmusRTとpgmRTがコンパイルおよびインストールされ、現在のシステムカーネルがlitmusRTであることが前提条件です。

ダウンロード

ソースコードをディレクトリに複製する

root@ubuntu:/home/szc/cpu-gpu/openvx# git clone https://github.com/Yougmark/opencv.git hog

構成

ディレクトリを入力し、CMakeLists.txtを変更します

root@ubuntu:/home/szc/cpu-gpu/openvx# cd hog
root@ubuntu:/home/szc/cpu-gpu/openvx/hog# vim CMakeLists.txt

変更は次のとおりです。liblitmusとpgmのディレクトリを独自のものに変更してください

set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} pgm boost_graph boost_filesystem boost_system)# litmus)

ocv_include_directories("/home/szc/litmus/liblitmus/include")  
ocv_include_directories("/home/szc/litmus/liblitmus/arch/x86/include")
ocv_include_directories("/home/szc/litmus/liblitmus/arch/x86/include/uapi")
ocv_include_directories("/home/szc/litmus/liblitmus/arch/x86/include/generated/uapi")

link_directories("/home/szc/cpu-gpu/openvx/pgm/")
link_directories("/home/szc/litmus/liblitmus/")

gdbでデバッグする必要がある場合は、このファイルの上にC_FLAGSとCXX_FLAGSも追加する必要があります(最初の行を参照してください)。

set(CMAKE_C_FLAGS "-g ")
set(CMAKE_CXX_FLAGS "-g ")

コンパイル

ビルドディレクトリを作成して入力し、Makefileを生成します

root@ubuntu:/home/szc/cpu-gpu/openvx/hog# mkdir build && cd build
root@ubuntu:/home/szc/cpu-gpu/openvx/hog/build/bin# cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=ON -D BUILD_EXAMPLES=Yes -D ENABLE_CXX11=Yes -D BUILD_opencv_cudacodec=OFF ..

豚をコンパイルする

root@ubuntu:/home/szc/cpu-gpu/openvx/hog/build# make -j6

テスト

テスト

テストビデオhttps://github.com/opencv/opencv_extra/blob/master/testdata/gpu/video/768x576.aviをダウンロードし、ビルドディレクトリの下のデータディレクトリに配置してから、bin / example_tapi_hogを実行します。

root@ubuntu:/home/szc/cpu-gpu/openvx/hog/build/bin# ./example_tapi_hog

これは歩行者検出の例です。実行中のスクリーンショットは次のとおりです。

結論

ここで実験を実行しても、内部のコード、主に実験論文の対応する部分であるsamples / gpu /hog.cppをデバッグできます。学生用メールボックスがある場合は、Clionを使用できます。

hogコードをデバッグおよび分析すると、多くのcuda APIが使用されていることがわかりました(クローズドソース、ソーストラッキングはここで終了できます)。この実験はOpenVXのCPU-GPU異種スケジューリング実験に基づいているため、次のことに精通している必要があります。 CUDAの公式ドキュメントは、主にプログラミングガイドとベストプラクティスです。

おすすめ

転載: blog.csdn.net/qq_37475168/article/details/109686640