尸九 发表于 2023-11-7 18:07:23

小白求助:Opencv算法的异常CPU占用

之前没有接触过嵌入式设备,目前公司有一个依赖opencv的项目希望移植到3588上,同事烧好的固件中已有opencv4.2.0,但为了与其他项目保持一致,自己编译了opencv4.7.0,cmake指令如下:
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=../install \
    -DBUILD_PNG=OFF \
    -DBUILD_TIFF=OFF \
    -DBUILD_TBB=OFF \
    -DBUILD_JPEG=OFF \
    -DBUILD_JASPER=OFF \
    -DBUILD_ZLIB=OFF \
    -DBUILD_EXAMPLES=OFF \
    -DBUILD_opencv_java=OFF \
    -DBUILD_opencv_python2=OFF \
    -DBUILD_opencv_python3=ON \
    -DENABLE_PRECOMPILED_HEADERS=OFF \
    -DWITH_OPENCL=OFF \
    -DWITH_OPENMP=OFF \
    -DWITH_FFMPEG=ON \
    -DWITH_GSTREAMER=ON \
    -DWITH_CUDA=OFF \
    -DWITH_GTK=ON \
    -DWITH_VTK=OFF \
    -DWITH_TBB=OFF \
    -DWITH_1394=OFF \
    -DWITH_OPENEXR=OFF \
    -DINSTALL_C_EXAMPLES=OFF \
    -DINSTALL_TESTS=OFF \
    ..移植完成后,使用自己编译出的opencv470时,CPU占用异常高,且大半都是系统占用




使用固件中的opencv420,则没有此问题


可以确定问题出在opencv上,但不是版本问题,理由是:
1、我自己又编译了opencv420,使用自己的opencv420时同样出现CPU异常的情况,而不重新编译、仅用环境变量LD_PRELOAD指定固件自带的opencv动态库,可以使cpu回复正常。同时监视GPU,发现使用固件自带的opencv,运行程序时会有6%左右的GPU占用
2、在英伟达的jetson nano和TX2 NX上,碰到了完全相同的问题

求各位大佬指点,是我编译opencv的方式有问题吗?
页: [1]
查看完整版本: 小白求助:Opencv算法的异常CPU占用