习惯使用jetbrain全家桶,所以就想用clion开发OpenCV,下载好的OpenCV中只有vs的build,想要在clion中使用OpenCV只能自己编译
-
安装git-bash
我使用的是下载工具是迅雷
- 安装cmake3.17.0时,记得将cmake添加到系统path中
- 安装的git不要添加到系统环境变量中
- 将mingw64添加到path中
第二部 开始编译OpenCV4.3.0源码:
- 解压后会得到OpenCV4.3.0的文件夹,文件夹里就是我们所需要编译的源码;
- 打开cmake-gui;第一行填入的是OpenCV4.3.0的源码;第二行是cmake编译输出的文件夹;点击左下角configure
- 按照下图选择;点击next
- 配置C和C++的编译器;点击finish配置结束
- 取消OPENCV_ENABLE_ALLOCATOR_STATS;在configure一下变成全白,不能有红的地方;如果不需要Python,记得取消build_Python;
- generate即可,Cmake完成
在编译输出的文件夹内右键选择git-bash,输入命令:
mingw32-make -j 8 && mingw32-make install
开始漫长的编译和安装
以上就是编译clion可使用的OpenCV库的方法,具体测试过段时间在发布
Mingw64-OpenCV是我编译好的文件
配置clion
编译完之后,输出文件夹里会有一个install文件夹;将W:\opencv-4.3.0\build1\install\x64\mingw\bin 添加到系统path中
配置clion项目的CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(OpenCV_Kqx)
set(CMAKE_CXX_STANDARD 11)
set(OpenCV_DIR W:\\opencv-4.3.0\\build1\\install)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(OpenCV_Kqx main.cpp)
#set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs)
target_link_libraries(OpenCV_Kqx ${OpenCV_LIBS})
测试代码
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;//包含cv命名空间
int main() {
Mat srcImage = imread("error1.png");
imshow("pthoto", srcImage);
Mat elemet = getStructuringElement(MORPH_RECT, Size(15, 15));
Mat dstImage;
erode(srcImage, dstImage, elemet);
imshow("result", dstImage);
waitKey(0);
}
如果不能正确显示图像,重启电脑即可