ubuntu20.04 版本下安装Openpose (包括Opencv,caffe,cuda,cudnn)的超详细笔记--更新于2021-4-14 (4)

在使用cmake-gui的过程中,最下面的框是运行的结果,这里面展示的所有红色部分都需要解决。但上面的配置窗口上也会被标记为红色,这些红色条目仅仅提示我们那些配置可以调整,所以不要被上面框内的红色吓到了。

然后Make OpenCV

在opencv目录下

sudo make

sudo make install

安装是否完成,可以通过进入到python3, 输入 Import cv2

如果没有异常就标识Opencv 安装成功。

配置OpenCV动态库环境/(程序执行时加载动态库*.so的路径)

新编译出来的opencv4.pc 会安装在/usr/local/lib/pkgconfig/opencv.pc

OpenCV的库 /usr/local/opencv4/lib

pkg-config --modversion opencv4 这个命令会在/usr/bin/pkgconfig/下先搜索

然后再在/usr/local/bin/pkgconfig下搜索。如果出现版本不对的情况,把第一个目录下的删除掉即可。

sudo vim /etc/bash.bashrc PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4/lib/pkgconfig export PKG_CONFIG_PATH

验证是否配置完成:

pkg-config --libs opencv4

-L/usr/local/opencv4/lib -lopencv_world

错误及解决办法

No OpenGL support

出现如下错误:

error: (-218:No OpenGL support) Library was built without OpenGL support in function ‘cvNamedWindow’

解决办法:在cmake-gui上的确勾选了,但依旧要在CMakeList.txt中修改

打开CMakeList.txt文件,搜索WITH_OPENGL 然后修改(WITH_OPENGL “Include OpenGL support” OFF 为(WITH_OPENGL “Include OpenGL support” ON

原来是机器里装了gtk3,所以

-D WITH_GTK_2_X=ON

opencv默认安装是不支持opengl的,机器里恰巧又没有QT,所以没有去检查OpenGL项目。

看来是gtk3与gtkglext不兼容,为了支持opengl,只能使用gtk2了。在cmake的时候,再增加一个选项

HAVE_GTKGLEXT==FALSE

就OK了。

如果采用cmake-gui , 只需要将WITH_GTK_2_X上勾选就可以。

测试Opencv

在~/git/libs/opencv2021/opencv/samples/cpp/example_cmake

内分别执行

cmake .

make

./opencv_example

就会显示Hello world.

OPENCV_EXTRA_MODULES_PATH 设置为 /pathto/opencv_contrib/modules

我的是/home/edward/git/opencv/opencv_contrib/modules

如果出现无法下载xfeatures2d的情况,就多按configure按钮,一般就能完成下载。

CUDA_TOOLKIT_ROOT_DIR , 需要指定为cuda的位置 /usr/local/cuda

然后执行

sudo make时可能出现 nvcc fatal : unsupported gpu architecture \'compute_30\' 错误

在cmake-gui界面,设置 CUDA_GENERATION=Kepler,本人环境是设置为auto,Turing

4.1)不同NVIDIA显卡对应的SM架构(CUDA arch and CUDA gencode)

Turing (CUDA 10及以上版本) SM75 or SM_75, compute_75 – GTX Turing – GTX 1660 Ti,RTX 2060, RTX 2070, RTX 2080,Titan RTX,Quadro RTX 4000, Quadro RTX 5000, Quadro RTX 6000, Quadro RTX 8000

5)在之前安装OK,后面安装其他库的是否出现如下异常:

nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified

CMake Error at cuda_compile_generated_gpu_mat.cu.o.cmake:220 (message):

Error generating

/home/edward/git/libs/opencv2021/opencv/build/modules/core/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_gpu_mat.cu.o

--不知道是什么异常....网上也找不到解决的办法...网上说是某个cmake文件中 - 给写成了中文的-。

解决办法:(在编译其他文件的时候,可能会用新版本的gcc,所以需要切换一下)

切换到gcc5

/usr/bin/gcc-5

/usr/bin/g++-5

export CC=http://www.likecs.com/usr/bin/gcc-5

export CXX=http://www.likecs.com/usr/bin/g++-5

cmake /path/to/your/project

5.1) home/edward/git/libs/opencv2021/opencv/modules/core/src/cuda/gpu_mat.cu:43:10: fatal error: opencv2/opencv_modules.hpp: No such file or directory

#include "opencv2/opencv_modules.hpp"

解决办法:把/usr/local/include/opencv4/opencv2内的内容拷贝到/usr/local/include/opencv2内。这样就可以找到了。

5.2 /usr/local/include/opencv2/core/cvdef.h:73:10: fatal error: cvconfig.h: No such file or directory #include "cvconfig.h"

将#include "cvconfig.h" 改为 "opencv2/cvconfig.h"

5.3 usr/local/include/opencv2/core/cv_cpu_dispatch.h:7:10: fatal error: cv_cpu_config.h: No such file or directory

这里cv_cpu_config.h是在build目录下的一个文件,不知如何处理。

this might not work. you\'re supposed to build the apps along with the opencv libs from src, by enabling

BUILD_opencv_apps=ON in cmake

修改后也还是出现这个问题

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwddjw.html