前言:

  一个好的开发环境,是程序猿梦寐以求的,对于opencv的开发,一直觉得vs虽然牛逼但太庞大,所以后来用了codeblocks,然后又觉得无论是vs还是codeblocks都不够美观,代码提示也不太好,配置也很繁琐。然后,我就在网上搜好用的C++ IDE,这不,逮到了Clion,一直很怀念当年做web开发时用的IntelliJ IDEA,这个Clion也是来自Jetbrains家族的,所以美观方面可谓无可挑剔。下面就开始来搭建吧。

搭建:

  1、下载下来最新的2016.3.3版本的Clion,很简单,默认安装。

  2、minGW编译器,网上下载个绿色版本的,我这里用的是minGW3.20的版本,解压在某处,打开Clion就在setting的时候选择一下编译器所在目录就行

  3、需要用minGW编译opencv,参考我另外一篇文章Codeblocks + opencv + Cmake + minGW 环境搭建(一劳永逸版)

示例项目:

  新建一个项目hello,只要配置一下cmake的list文件,然后在main.cpp写个简单的显示lena的代码就行了

  

cmake_minimum_required(VERSION 3.6)
project(hello) set(CMAKE_CXX_STANDARD ) # 包含目录
include_directories(C:\\\\opencv\\\\include)
include_directories(C:\\\\opencv\\\\include\\\\opencv)
include_directories(C:\\\\opencv\\\\include\\\\opencv2) # 源文件
set(SOURCE_FILES main.cpp) # minGW编译opencv的dll.a库
set(TARGET_LIBS
"C:\\\\opencv\\\\lib\\\\libopencv_core244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_highgui244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_imgproc244.dll.a"
) add_executable(hello ${SOURCE_FILES})
target_link_libraries(hello ${TARGET_LIBS})

CmakeList.txt

# minGW编译opencv的dll.a库(所有17个)
set(TARGET_LIBS
"C:\\\\opencv\\\\lib\\\\libopencv_core244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_highgui244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_imgproc244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_calib3d244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_contrib244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_features2d244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_flann244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_gpu244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_nonfree244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_ts244.a"
"C:\\\\opencv\\\\lib\\\\libopencv_video244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_videostab244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_stitching244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_photo244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_objdetect244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_ml244.dll.a"
"C:\\\\opencv\\\\lib\\\\libopencv_legacy244.dll.a"
)

更多dll.a

#include <iostream>

# include<opencv2/core/core.hpp>
# include<opencv2/highgui/highgui.hpp>
# include<opencv2/imgproc/imgproc.hpp> using namespace cv;
using namespace std; int main() { Mat img = imread("../lena.png"); resize(img,img,Size(,)); imshow("img",img); waitKey();
destroyAllWindows();
return ;
}

main.cpp

   其实这里最重要的Cmakelist.txt的配置,此步简化了配置,不用再像vs和codeblocks那样一点一点选择库目录和包含目录,很方便。

  这里有个问题需要注意一下,Clion用Cmake来管理程序的编译生成和运行,exe生成在cmake下面,因此代码中的lena文件需要用"../lena.png",才能正常访问。

好了,这样就可以用Clion来写opencv的图像程序了,体验很不错。

Clion + opencv环境搭建(体验最好的C++ IDE)的更多相关文章

  1. eclipse+android+opencv环境搭建的步骤

    ---恢复内容开始--- 2016年4月12日编写 一.第一步:搭建eclipse开发环境 1.在eclipse官网中下载eclipse.zip进行解压即可.没有版本要求,但要和电脑的位数相匹配.如: ...

  2. OpenCV环境搭建

    前言 我在上本科时候曾经用过opencv,那时候还是1.x版本,还必须在linux下自己编译. 时过境迁,最近突然想起来写个小程序来分析图片,就又想起了opencv.现在已然是2.4的版本. 环境搭建 ...

  3. OpenCV环境搭建(一)

    此环境搭建是OpenCV的python(一下简称py)开发环境搭建,建立在py3的环境和语法上实现的. windows系统搭建 系统环境:windows 10 + python 3.6 + OpenC ...

  4. 针对于Python的OpenCV环境搭建

    OpenCV 依赖 下载OpenCV 配置 总结 给Python搭建opencv的环境还真是略嫌麻烦,于是做下笔记,以备不时之需. OpenCV 依赖 opencv有些依赖,我们必须安装一下,否则接下 ...

  5. Android开发:Eclipse+OpenCV环境搭建

    一.OpenCV预备: OpenCV是一个跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它由一系列 C 函数和少量 C++ 类构成,同时提供了Pyt ...

  6. win7 QT +opencv环境搭建

    1.Win7 Qt4.8.5+QtCreator2.8.0+mingw环境参考前博文先搭建 2.下载Cmake2.8.11.2版本,安装.运行 [项目]那编译器选择:MinGW4.4.另外,重新编译O ...

  7. OpenCV 环境搭建( Win7 32位 / VS2010 / OpenCV2.4.8 )

    前言 本文介绍如何搭建 OpenCV 开发环境 配置如下: 操作系统:WIN7 32位 开发平台:VS2010 OpenCV 版本:2.4.8 第一步:安装 OpenCV 2.4.8 1. 登陆 Op ...

  8. 基于java的OpenCV环境搭建

    一.OpenCV下载安装 OpenCV可以在官网下载链接https://opencv.org/releases.html 选择相应的版本下载保存就好(不过官网下载有时候真滴慢还会连不上.....)网盘 ...

  9. 【opencv】Java+eclipse+opencv 环境搭建 helloword入门demo

    文章为博主原创,纯属个人理解,如有错误欢迎指出. 如需转载,请注明出处. 引入jar包 引入配置文件 到此环境配置完成!!! 可能会出现的问题: 1. jdk版本不一致导致发生异常.如图 build ...

随机推荐

  1. 尝试优化骨骼动画计算的意外收获——使用嵌入式汇编对float转int进行优化

    本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/p/4984530.html 公司引擎目前是使用CPU计算骨骼动画(采用了D3DX提供的函数 ...

  2. 优先队列PriorityQueue实现 大小根堆 解决top k 问题

    转载:https://www.cnblogs.com/lifegoesonitself/p/3391741.html PriorityQueue是从JDK1.5开始提供的新的数据结构接口,它是一种基于 ...

  3. python __new__和__init__

    转载:http://www.cnblogs.com/tuzkee/p/3540293.html 1 2 3 4 5 6 7 8 class A(object):     def __init__(se ...

  4. 为eclipse EE(汉化版) 配置Tomcat服务器

    为eclipse EE(汉化版) 配置Tomcat服务器   很多小朋友在初次使用eclipse进行web开发的时候,很是蒙蔽.以前都是文本编辑器写好,做好目录结构,往tomcat下一扔,重启,搞定. ...

  5. CF911B

    题解: 枚举一下x x<=min(a,b) 然后判断a/x+b/x是否>=x 代码: #include<bits/stdc++.h> using namespace std; ...

  6. jQuery Ajax同步参数导致浏览器假死怎么办

    俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下.   事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的 ...

  7. LINUX系统下的squid服务

    一.squid服务实现正向代理 正向代理,是一个位于客户端和原始服务器之间的服务器. 客户端可以通过服务器的缓存数据,得到所需的结果. 示例:在一台可以联网的主机上,安装squid软件之后,就可以在另 ...

  8. Java API访问ZK的权限控制

    无权限访问结点 /** * 对于ZK的授权访问 * Created by liuhuichao on 2017/7/27. */ public class AutoSample { private s ...

  9. 上周面试回来后写的Java面试总结,想进BAT必看

    上周陪同之前一起工作的同事去面试(乔治,小袁,鹏飞(面试人)),第一站是去深圳,第二站上海,第三站杭州.面试什么公司我在这里就不多说了,你们知道是一线公司就行.其实本来真的没打算写这篇文章,主要是自己 ...

  10. 在crontab中执行shell脚本的问题

    crontab中记录的编写比较简单,下面是一个示例: * * * /app/tpssapp/ftpsrc/tools/statTables/statTables.sh > /app/tpssap ...