(23)Linux下Clion中搭建opencv环境

manjaroLinux:5.10.70-1-MANJARO
Clion:2021.2.2

1、问题描述

目的:在ManjaroLinux中的Clion搭建opencv环境。
在网上搜了很多教程来搭建,但都没解决。我的问题一直是在CMakeList文件的最后一句将cpp文件链接到opencv中出问题,然后把opencv卸载了(起初直接是在terminal中安装的),在github中把源码拿过来直接装就好了。我也是莫名其妙弄好了,不一定适合所有人,可以拿来参考。

2、安装步骤

2.1 下载opencv与opencv-contrib源码

opencv下载链接opencv_contrib下载链接两个版本要选择一致。我这里选的都是4.5.4版本。新建一个文件夹(位置没关系)放这两个压缩包,并且解压。效果如下。

2.2 整理文件框架

在这里插入图片描述
把opencv-contrib放到opencv中。效果如下
在这里插入图片描述
在opencv-4.5.4文件中新建文件夹“build”(名字无所谓)。并且进入build。

sudo mkdir build
cd build

2.3 生成makefile文件

在build文件目录下执行以下命令(注意,不能完全和我一样,里面的路径要按照你opencv-4.5.4文件夹的目录而定)。
这里我的opencv-4.5.4路径为/home/barry/opencv-work/opencv-4.5.4
你可以进入到你的opencv-4.5.4文件夹中使用pwd查看当前路径,替换下面命令里面的路径就行了。

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH= /home/barry/opencv-work/opencv-4.5.4/opencv_contrib-4.5.4/modules/ ..

2.4 进行make编译

当前仍然是在build文件夹中。
执行以下命令。
这里的4是因为我的计算机是4核的。

sudo make -j4

2.5 编辑CMakeList.txt文件

我的CMakeList.txt文件如下

cmake_minimum_required(VERSION 3.20)
project(opencvtest)


set(CMAKE_CXX_STANDARD 14)
find_package(OpenCV REQUIRED)
set(SOURCE_FILES main.cpp)
include_directories(${
    
    OpenCV_INCLUDE_DIRS})

add_executable(opencvtest main.cpp)
target_link_libraries(opencvtest ${
    
    OpenCV_LIBS})

3、代码测试

测试一下
这里读者需要下载一个图片取代我的代码中的44.png。
获取图片的绝对路径。
在这里插入图片描述

#include <iostream>
#include <opencv4/opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
    
    
    string path = "/home/barry/CLionProjects/opencvtest/44.png";
    Mat src = imread(path);
    namedWindow("img");
    imshow("img",src);
    waitKey(0);
    return 0;
}

4、参考资料

https://zhuanlan.zhihu.com/p/118222087
https://stackoverflow.com/questions/36590912/using-opencv-with-clion

Guess you like

Origin blog.csdn.net/xdg15294969271/article/details/120744240