Clion+Opencv3.2终极配置教程

前言

网上的教程实在太坑,啰哩啰嗦还不对,很多感觉都是互相抄袭,也没有真正解决问题,抑或解决问题分享时草草了事,真是坑人!不多说了,还是正题吧…

环境

Opencv3.2+Clion+Win10

Cmake3.6(至少3.9版本一下)+Mingw-w64(64位的,32位的bug会出很多错)

需下载资源

  • 手动下载一个opencv_ ffmpeg_64.dll文件,放到opencv/sources/3rdparty/ffmpeg/目录下,下载地址:opencv3.2 opencv_ffmpeg_64

  • 如果是需要opencv_ ffmpeg.dll,也需要放到opencv/sources/3rdparty/ffmpeg/目录下,下载地址:opencv_ ffmpeg.dll

建议都直接下载好放进去,省着出错麻烦!!!

编译Opencv源码步骤

1. 安装Opencv3.2,Cmake以及Mingw-w64, 配置Mingw-w64的bin目录环境变量

2. 打开Cmake-GUI,源码路径选择Opencv的source目录,输入路径自定义,如图;

2017-12-31-02-26-31.jpg

2017-12-31-02-26-10.jpg

3. 点击Configure,选择MinGW Makefiles;

2017-12-31-02-28-59.jpg

4. 再次点击Configure,等待一会会很多报红,如图;再次点击Configure,红色全部消失;此时点击Generate完成即可;

2017-12-31-02-32-34.jpg

2017-12-31-03-31-18.jpg

5. 进入输出目录,如果安装了git的话,可以直接git-bash里(或者cmd)里运行下面代码,效果如下:


mingw32-make -j8 # 以8线程进行编译

2017-12-31-02-35-10.jpg

6. 等待一会,即可完成,最终效果如下:

2017-12-31-02-37-09.jpg

7. 最后在我们编译完成,输出目录下的bin目录里会生成一些.dll和.exe文件,lib目录会生成一些.a文件。

2017-12-31-02-43-19.jpg

2017-12-31-02-43-32.jpg

8. 运行mingw32-make install,等待片刻,输出目录下会多出install文件夹;
2017-12-31-03-42-24.jpg

9. 添加…\install\x86\mingw\bin 添加到path系统环境变量环境变量;

2017-12-31-03-43-51.jpg

Clion中使用Opencv

1. 安装Clion,配置好Mingw-w64的目录(包括Cmake,可选);

2017-12-31-02-49-34.jpg

2. 新建项目,发现Cmake3.9一创建项目就报错,所以上一步还是不要选择Bundle的,我自己又下载了一个3.6版本的,心累…
2017-12-31-03-22-10.jpg

3. 编辑CMakeLists.txt;


cmake_minimum_required(VERSION 3.6)

project(opencvtest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

# Where to find CMake modules and OpenCV

set(OpenCV_DIR "E:\\Opencv3.2\\opencv\\mingw64_build\\install")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

find_package(OpenCV REQUIRED)

include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(opencvtest main.cpp)

# add libs you need

set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs)

# linking

target_link_libraries(opencvtest ${OpenCV_LIBS})

4. 测试代码main.cpp


#include "iostream"

#include<opencv2/opencv.hpp>

using namespace std;

using namespace cv;

int main() {

Mat img = imread("haha.jpg");

if (img.empty()) {

cout << "Error" << endl;

return -1;

}

imshow("Lena", img);

waitKey();

return 0;

}

5. 结果:

2017-12-31-05-20-29.jpg

6. 中间坑真的感觉数不清,配置出现差错可以休息一下,重启一下电脑,说不定就好了:)

参考文章

很多都是大坑,这里就列两个主要的吧!

Win10下Clion配置opencv3

如何在CLion上配置使用OpenCV?

猜你喜欢

转载自blog.csdn.net/bskfnvjtlyzmv867/article/details/78940472