序1:万恶的vs,准备弃用,自从学习H5和php以来,迷上了jetbrains家的产品,所以配置一下clion+opencv
序2:网上找了N多配置,皆有问题,反正我的用camke编译opencv编不出来install文件夹和里面的dll.a的文件,可能是我太菜,所以此文章献给我们这些菜鸟们
参考的几个如下:
https://blog.csdn.net/bskfnvjtlyzmv867/article/details/78940472
https://blog.csdn.net/qq_36279209/article/details/78239273?locationNum=9&fps=1
所以用了别人cmake编译好的opencv了(想不起来是谁的了,不好意思,如有侵权请联系我)
0.准备:
记住解压文件的路径,不要有中文以下列举本文采用的软件版本
CLion 2018.1.5 学校邮箱激活,自己去官网下吧
opencv 3.4.1(cmake编译好的mingw的dll.a,直接解压)为了防止大家不会用cmake,或者cmake出错,特地把我当的修改后的版本放上来(请作者联系我)
cmake 3.8.2-win64-x64(直接解压) (注:本文直接采用clion中的cmake 3.10版本,博主之前配置环境,参考博文要求使用3.9以下版本,但是博主目前没有出现问题,现在不用,所以暂且留着,万一出了问题好换回来,暂时用clion中的cmake)
1.CLion配置:
本文CLion版本:2018.1.5
Flie->Settings->Build, Execution, Deployment ->Toolchains
新建一个(绿色的+)
2.CMakeList.txt(是不是每个项目都要配置一遍???)
这个在clion的项目里,当的,参考点击打开链接
cmake_minimum_required(VERSION 3.6) project(untitled)#改为自己的项目名称 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") # Where to find CMake modules and OpenCV set(OpenCV_DIR "D:\\opencv\\opencv\\mingw-build\\install")#改为mingw-bulid的位置 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(untitled main.cpp)#当前项目名称和cpp的名称 # add libs you need set(OpenCV_LIBS opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs) # linking target_link_libraries(untitled ${OpenCV_LIBS})
3.环境变量
在系统环境变量PATH中加上刚才解压的opencv的目录
D:\opencv\opencv\mingw-build\install\x64\mingw\bin
4.main.cpp测试
借用毛星云的测试代码和图
测试图:
#include <iostream> //下面两个是opencv的目录,注意一下 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace std; using namespace cv; int main(){ //为什么要用这种路径我也不清楚,反正没有../会报错,或者输入图片的绝对路径 Mat img = imread("../haha.jpg");
//namedWindow("游戏原画"); vs中没有这一句窗口会闪退 imshow("Lena", img); waitKey(0);}
上面图片路径的问题,我在vs里面输入这种路径也是这种结果,可能还是我太菜。换成绝对路径就没了:
OpenCV(3.4.1) Error: Assertion failed (size.width>0 && size.height>0) in imshow, file C:\opencv\sources\modules\highgui\
src\window.cpp, line 356
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(3.4.1) C:\opencv\sources\modules\highgui\src\window.cpp:356: error: (-215) size.width>0 && size.height
>0 in function imshow
This application has requested the Runtime to terminate it in an unusual way.