首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nvidia Jetson Tx2 Opencv在Docker中编译

Nvidia Jetson Tx2 Opencv在Docker中编译
EN

Stack Overflow用户
提问于 2020-07-28 02:14:38
回答 1查看 524关注 0票数 1

嗨,我之前在我的主机或几个基于arm的系统上编译过几次opencv。由于所有你现在基于arm的系统编译opencv需要更长的时间,所以我使用Quemu将x86处理器虚拟化为arm64,并从nvidia dochub页面拉出了nvidia jetpack。我使用的是"nvcr.io/nvidia/l4t-base“,所以我有基于aarch64的docker环境。

当我在这个docker环境中执行基本的cmake配置时。

代码语言:javascript
复制
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D WITH_CUDA=ON \
      -D CUDA_ARCH_BIN=6.2 \
      -D CUDA_ARCH_PTX="" \
      -D ENABLE_FAST_MATH=ON \
      -D CUDA_FAST_MATH=ON \
      -D WITH_CUBLAS=ON \
      -D WITH_LIBV4L=ON \
      -D WITH_GSTREAMER=ON \
      -D WITH_GSTREAMER_0_10=OFF \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON \
      -D OPENCV_EXTRA_MODULES_PATH=/../opencv3/opencv_contrib-3.4.9/modules \
      -D CPACK_BINARY_DEB=ON \
      ../

我附加了以下错误日志。但是基本上它会显示“致命错误: sys/videoio.h:没有这样的文件或目录”,所以我之前得到了videdev.h错误,但我解决了安装v4l包的问题。

有趣的是,当我只给cmake的时候..它可以工作并安装opencv,但默认配置为conf。没有cuda和额外的lib选项。当我在"cmake ..“之后检查时命令在日志文件中仍然有相同的致命错误,即使我看到配置已经完成。

我想不出这个错误。即使它显示与默认的cmake命令相同的错误,但配置已经完成。当我应用cuda配置时,它显示相同的错误,但配置无法完成。我完全确定cmake有任何错误的参数,因为我在我的jetson tx2上使用了它,它工作得很完美。

你有什么想法吗?顺便说一句,nvidia docker有10.2cuda支持,我用nvcc -V命令检查过,也许在docker环境中,无法编译支持cuda的opencv,或者我应该以不同的方式启动cuda支持的docker容器?

错误日志:https://paste.ubuntu.com/p/w9hjBxqJ6D/

输出日志:https://paste.ubuntu.com/p/rqsvq356dR/

下面是另一个输出

代码语言:javascript
复制
    linked by target "opencv_annotation" in directory /opencv3/opencv-3.4.9/apps/annotation
    linked by target "opencv_visualisation" in directory /opencv3/opencv-3.4.9/apps/visualisation
    linked by target "opencv_interactive-calibration" in directory /opencv3/opencv-3.4.9/apps/interactive-calibration
    linked by target "opencv_version" in directory /opencv3/opencv-3.4.9/apps/version
CUDA_nppist_LIBRARY (ADVANCED)
    linked by target "opencv_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev
    linked by target "opencv_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev
    linked by target "opencv_test_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev/test
    linked by target "opencv_test_core" in directory /opencv3/opencv-3.4.9/modules/core
    linked by target "opencv_perf_core" in directory /opencv3/opencv-3.4.9/modules/core
    linked by target "opencv_core" in directory /opencv3/opencv-3.4.9/modules/core
    linked by target "opencv_core" in directory /opencv3/opencv-3.4.9/modules/core
    linked by target "opencv_test_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
    linked by target "opencv_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
    linked by target "opencv_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
    linked by target "opencv_perf_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
    linked by target "opencv_flann" in directory /opencv3/opencv-3.4.9/modules/flann
    linked by target "opencv_flann" in directory /opencv3/opencv-3.4.9/modules/flann
    linked by target "opencv_test_flann" in directory /opencv3/opencv-3.4.9/modules/flann
    linked by target "opencv_perf_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
    linked by target "opencv_test_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
    linked by target "opencv_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
    linked by target "opencv_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
    linked by target "opencv_test_ml" in directory /opencv3/opencv-3.4.9/modules/ml
    linked by target "opencv_ml" in directory /opencv3/opencv-3.4.9/modules/ml
    linked by target "opencv_ml" in directory /opencv3/opencv-3.4.9/modules/ml
    linked by target "opencv_video" in directory /opencv3/opencv-3.4.9/modules/video
    linked by target "opencv_video" in directory /opencv3/opencv-3.4.9/modules/video
    linked by target "opencv_perf_video" in directory /opencv3/opencv-3.4.9/modules/video
    linked by target "opencv_test_video" in directory /opencv3/opencv-3.4.9/modules/video
    linked by target "opencv_test_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
    linked by target "opencv_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
    linked by target "opencv_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
    linked by target "opencv_perf_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
    linked by target "opencv_test_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
    linked by target "opencv_perf_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
    linked by target "opencv_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
    linked by target "opencv_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
    linked by target "opencv_test_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
    linked by target "opencv_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
    linked by target "opencv_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
    linked by target "opencv_perf_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
    linked by target "opencv_test_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
    linked by target "opencv_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
    linked by target "opencv_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
    linked by target "opencv_perf_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
    linked by target "opencv_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
    linked by target "opencv_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
    linked by target "opencv_perf_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
    linked by target "opencv_test_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
    linked by target "opencv_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
    linked by target "opencv_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
    linked by target "opencv_perf_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
    linked by target "opencv_test_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
    linked by target "opencv_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
    linked by target "opencv_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
    linked by target "opencv_perf_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
    linked by target "opencv_test_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
    linked by target "opencv_test_photo" in directory /opencv3/opencv-3.4.9/modules/photo
    linked by target "opencv_photo" in directory /opencv3/opencv-3.4.9/modules/photo
    linked by target "opencv_photo" in directory /opencv3/opencv-3.4.9/modules/photo
    linked by target "opencv_perf_photo" in directory /opencv3/opencv-3.4.9/modules/photo
    linked by target "opencv_test_shape" in directory /opencv3/opencv-3.4.9/modules/shape
    linked by target "opencv_shape" in directory /opencv3/opencv-3.4.9/modules/shape
    linked by target "opencv_shape" in directory /opencv3/opencv-3.4.9/modules/shape
    linked by target "opencv_test_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
    linked by target "opencv_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
    linked by target "opencv_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
    linked by target "opencv_perf_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
    linked by target "opencv_calib3d" in directory /opencv3/opencv-3.4.9/modules/calib3d
    linked by target "opencv_calib3d" in directory /opencv3/opencv-3.4.9/modules/calib3d
  
    linked by target "opencv_perf_stitching" in directory /opencv3/opencv-3.4.9/modules/stitching
    linked by target "opencv_test_superres" in directory /opencv3/opencv-3.4.9/modules/superres
    linked by target "opencv_superres" in directory /opencv3/opencv-3.4.9/modules/superres
    linked by target "opencv_superres" in directory /opencv3/opencv-3.4.9/modules/superres
    linked by target "opencv_perf_superres" in directory /opencv3/opencv-3.4.9/modules/superres
    linked by target "opencv_test_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
    linked by target "opencv_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
    linked by target "opencv_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
    linked by target "opencv_traincascade" in directory /opencv3/opencv-3.4.9/apps/traincascade
    linked by target "opencv_createsamples" in directory /opencv3/opencv-3.4.9/apps/createsamples
    linked by target "opencv_annotation" in directory /opencv3/opencv-3.4.9/apps/annotation
    linked by target "opencv_visualisation" in directory /opencv3/opencv-3.4.9/apps/visualisation
    linked by target "opencv_interactive-calibration" in directory /opencv3/opencv-3.4.9/apps/interactive-calibration
    linked by target "opencv_version" in directory /opencv3/opencv-3.4.9/apps/version

Lats Progress:当我删除

代码语言:javascript
复制
-DOPENCV_EXTRA_MODULES_PATH=$HOME/opencv_contrib-3.4.9/modules \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-DCUDA_ARCH_BIN=6.2 \
-DCUDA_ARCH_PTX="" \ 

和配置完成,但我仍然需要cuda和额外的库

EN

回答 1

Stack Overflow用户

发布于 2020-07-29 16:54:19

解决了启动docker镜像主机Cuda组件和cmake conf的问题。工具包的目录。重要的一点是,如果容器附带了不同版本的Cuda,则不应该使用它。

使用主机cuda并提供主机cuda组件目录或将它们复制到docker中

代码语言:javascript
复制
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0 \
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63121195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档