1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > clion opencv安装_Clion+Opencv3.2终极配置教程

clion opencv安装_Clion+Opencv3.2终极配置教程

时间:2023-05-20 18:57:24

相关推荐

clion opencv安装_Clion+Opencv3.2终极配置教程

前言

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

环境

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目录,输入路径自定义,如图;

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

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

3. 点击Configure,选择MinGW Makefiles;

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

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

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

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

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

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

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

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

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

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

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

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

8. 运行mingw32-make install,等待片刻,输出目录下会多出install文件夹;

-12-31-03-42-24.jpg

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

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

Clion中使用Opencv

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

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

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

-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

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. 结果:

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

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

参考文章

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。