Compila y ejecuta la implementación opencv de hog

antecedentes

Las instalaciones anteriores de LitmusRT, pgmRT, etc.están preparadas para el experimento aquí, por lo que la condición previa es que se hayan compilado e instalado litmusRT y pgmRT, y el kernel del sistema actual es litmusRT

descargar

Clona el código fuente en un directorio

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

Configuración

Ingrese al directorio y modifique CMakeLists.txt

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

La modificación es la siguiente, cambie los directorios de liblitmus y pgm a los suyos.

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/")

Si necesita depurar con gdb, también debe agregar C_FLAGS y CXX_FLAGS encima de este archivo (mire la primera línea)

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

Compilar

Cree e ingrese al directorio de compilación, genere 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 ..

Compilar cerdo

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

prueba

prueba

Descargue el video de prueba https://github.com/opencv/opencv_extra/blob/master/testdata/gpu/video/768x576.avi , colóquelo en el directorio de datos debajo del directorio de compilación y luego ejecute bin / example_tapi_hog

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

Este es un ejemplo de detección de peatones, la captura de pantalla en ejecución es la siguiente

Conclusión

Incluso si el experimento se ejecuta aquí, podemos depurar el código interno, principalmente samples / gpu / hog.cpp, que es la parte correspondiente del documento experimental. Si tiene un buzón de estudiante, puede usar Clion.

Al depurar y analizar el código hog, descubrí que usa muchas API cuda (código cerrado, el seguimiento de la fuente puede terminar aquí), porque este experimento se basa en el experimento de programación heterogénea CPU-GPU de OpenVX, entonces debes estar familiarizado con Los documentos oficiales de CUDA son principalmente guías de programación y mejores prácticas.

Supongo que te gusta

Origin blog.csdn.net/qq_37475168/article/details/109686640
Recomendado
Clasificación