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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/312242.html
標籤:其他
上一篇:將中間件應用于后期路由時無限加載
