ubuntu-编译安装支持CUDA的OpenCV

冷不防 2023-02-17 01:16 71阅读 0赞

终端运行

  1. cmake-gui

配置源码

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70

点击”configure”按钮,会显示很多配置项:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 2

对于以上出现的错误项,事先下载好,配置再.cache文件夹下即可,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 3

同时事先下载好opencv的第三方库extra。继续点击“configure”按钮:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 4

如果需要Python编译,就修改一些Python编译的选项。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 5

以上红色信息是由OPENVB_GENERATE_STATUS该选项勾选造成的,可以去掉,也可以忽略。可以勾选掉java等选项,继续点击”configure”,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 6

可以配置OpenCV的Python编译环境、安装路径 prefix等,点击”configure“按钮,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 7

直到需要的选项,没有出现红色的行为止:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 8

然后点击 “Generate”按钮,即可。

这时候进入build路径,启动终端,点击”make“,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 9

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 10

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 11

编译过程中,有可能会出现以下错误:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 12

这是因为在编译过程中,有可能环境变量没有配置完成:

20200611082948151.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 13

配置环境变量的方法有两种,

一种是在/etc/profile文件中,配置LD_LIBRARY_PATH的值。

  1. /usr/local/cuda-10.1/lib64:
  2. /usr/local/opencv/lib:
  3. /lib/x86_64-linux-gnu:
  4. /usr/lib/x86_64-linux-gnu:
  5. /home/pytorch/anaconda3/lib:

特别要注意/lib/x86_64-linux-gnu 和 /usr/lib/x86_64-linux-gnu,

如果需要python编译,而环境是由Anaconda环境搭建,那么一定要配置/home/pytorch/anaconda3/lib

一种是配置/etc/ld.so.conf,然后利用命令 ldconfig,将其缓存到/etc/ld.so.cache中去。

记录一些细节:

1:出现的红色提示信息,可以通过去掉 OPENCV_GENERATE_SETUPVARS的勾选框,默认是勾选的,

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 14

去掉勾选框即可:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 15

2:有必要生成 OPENVB_GENERATE_PKGCONFIG,这样就可以使用PKG_CONFIG命令了,勾选此选项:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 16

3:出现了一下错误:

  1. /home/pytorch/anaconda3/lib/libpng16.so.16: undefined reference to `inflateValidate@ZLIB_1.2.9'
  2. collect2: error: ld returned 1 exit status
  3. modules/world/CMakeFiles/opencv_perf_superres.dir/build.make:124: recipe for target 'bin/opencv_perf_superres' failed
  4. make[2]: *** [bin/opencv_perf_superres] Error 1
  5. CMakeFiles/Makefile2:2744: recipe for target 'modules/world/CMakeFiles/opencv_perf_superres.dir/all' failed
  6. make[1]: *** [modules/world/CMakeFiles/opencv_perf_superres.dir/all] Error 2
  7. Makefile:160: recipe for target 'all' failed
  8. make: *** [all] Error 2
  9. (base) pytorch@pytorch-MS-7C22:~/Gram/softWare/opencv-4.3.0-build$ pip install --upgrade libpng
  10. Collecting libpng
  11. ERROR: Could not find a version that satisfies the requirement libpng (from versions: none)
  12. ERROR: No matching distribution found for libpng
  13. (base) pytorch@pytorch-MS-7C22:~/Gram/softWare/opencv-4.3.0-build$ pip install libpng
  14. Collecting libpng
  15. ERROR: Could not find a version that satisfies the requirement libpng (from versions: none)
  16. ERROR: No matching distribution found for libpng
  17. (base) pytorch@pytorch-MS-7C22:~/Gram/softWare/opencv-4.3.0-build$ pip install l(base) pytorch@pytorch-MS-7C22:~/Gram/softWare/opencv-4.3.0-build$ sudo apt-get install libpng16-16
  18. [sudo] password for pytorch:
  19. Reading package lists... Done
  20. Building dependency tree
  21. Reading state information... Done
  22. The following packages were automatically installed and are no longer required:
  23. fonts-mathjax javascript-common libboost-python1.58.0 libboost-thread1.58.0
  24. libcublas7.5 libcudart7.5 libcufft7.5 libcufftw7.5 libcuinj64-7.5
  25. libcurand7.5 libcusolver7.5 libcusparse7.5 libjs-jquery libjs-mathjax
  26. libjs-sphinxdoc libjs-underscore liblapack3 libnppc7.5 libnppi7.5 libnpps7.5
  27. libnvblas7.5 libnvrtc7.5 libnvtoolsext1 libnvvm3 libthrust-dev libvdpau-dev
  28. nvidia-cuda-doc nvidia-cuda-gdb nvidia-opencl-dev nvidia-profiler
  29. nvidia-visual-profiler opencl-headers python-pycuda-doc python3-appdirs
  30. python3-decorator python3-numpy python3-pytools
  31. Use 'sudo apt autoremove' to remove them.
  32. The following NEW packages will be installed:
  33. libpng16-16
  34. 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
  35. Need to get 172 kB of archives.
  36. After this operation, 415 kB of additional disk space will be used.
  37. Get:1 http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64 libpng16-16 amd64 1.6.20-2 [172 kB]
  38. Fetched 172 kB in 1s (100 kB/s)
  39. Selecting previously unselected package libpng16-16:amd64.
  40. (Reading database ... 251701 files and directories currently installed.)
  41. Preparing to unpack .../libpng16-16_1.6.20-2_amd64.deb ...
  42. Unpacking libpng16-16:amd64 (1.6.20-2) ...
  43. Processing triggers for libc-bin (2.23-0ubuntu11) ...
  44. /sbin/ldconfig.real: /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link
  45. Processing triggers for doc-base (0.10.7) ...
  46. Processing 1 added doc-base file...
  47. Setting up libpng16-16:amd64 (1.6.20-2) ...
  48. Processing triggers for libc-bin (2.23-0ubuntu11) ...
  49. /sbin/ldconfig.real: /usr/local/cuda-10.1/targets/x86_64-linux/lib/libcudnn.so.7 is not a symbolic link

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 17

解决方法:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 18

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 19

在终端输入

  1. sudo apt-get install libpng16-16

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 20

重新进行

  1. make

然后顺利编译通过

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 21

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 22

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 23

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 24

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d4Y2R6aGFuZ3Bpbmc_size_16_color_FFFFFF_t_70 25

发表评论

表情:
评论列表 (有 0 条评论,71人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ubuntu安装cuda

    ubuntu安装cuda装了三天才装好,太费劲了。 主要分为这几步: 1.安装英伟达显卡驱动,需要查找适合自己GPU的版本,其次在安装的时候,需要关闭图形界面Xserver