fatal error: opencv2/opencv_modules.hpp: No such file or directory(linux系统,opencv4)

目的:在linux安装配置opencv2,出现了很多问题。总结一下。

1安装过程:
1)下载opencv 和opencv_contrib

    cd ~/<my_working_directory>
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git

其中<my_working_directory>为下载opencv的目录。因为需要第三方opencv_contrib库,因此下载。

2)编译opencv 和opencv_contrib
将opencv-contrib模块移入opencv目录下。
在这里插入图片描述
在上述目录中,创建build,然后编译

mkdir build
cd  build
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/.../.../opencv-master/opencv_contrib-master/modules/ -D OPENCV_ENABLE_NONFREE=True ..

其中OPENCV_EXTRA_MODULES_PATH为opencv_contrib-master的目录,根据自己的喜好设置。
CMAKE_INSTALL_PREFIX 为安装的路径。

sudo make -j8

-j8:表示并行度为8
完成编译。

配置opencv

sudo vim /etc/ld.so.conf.d/opencv.conf

文件里面加上/usr/local/lib如下:

在这里插入图片描述
配置pkg

sudo gedit /etc/bash.bashrc

在这里插入图片描述
最后

sudo updatedb

问题:
在配置opencv的时候。发现出现问题。
在这里插入图片描述
从错误可以看出,这是opencv出现了问题,不是写的代码出现问题。应该是配置问题,
后面发现忘记配置opencv头文件,安装的时候在/usr/local目录下,会多一个opencv4的目录,
在这里插入图片描述
linux系统不知道有这个路径,因此需要加一个链接

sudo ln -s /usr/local/include/opencv4 /usr/include/

ubuntu系统默认知道/usr/include/,添加链接,可以知道目录:/usr/lcoal/include/opencv4/opencv2/opencv_modules.hpp

猜你喜欢

转载自blog.csdn.net/weixin_43851636/article/details/126904457
今日推荐