前言:以前一直用的python+opencv环境,最近要做光流算法的c语言验证,再移植到单片机中去,所以不得不在win10上配置opencv环境。VS太巨大了,这里我用了一直用的的codeblocks,尝试了一天自己参照网上去编译opencv,遇到不少错误,查了许多仍然解决不了,于是就去git了别人编译好的build文件,在今天中午就成功了。
安装步骤概览:
1.codeblocks安装
2.mingw 64安装
3.opencv x64编译好的build文件下载
4.配置codeblocks
具体步骤
codeblocks安装
exe安装简单,自行安装最新版本,官网可能要梯子才下载快一些
官网:链接
mingw 64安装
提示:codeblocks自带的mingw编译器不可用
官网:链接
一定要下载exe文件,滑动网页到下面一点(网页可能发生变化,下图不保证实时性20200905):
电脑系统框架选择x86_64,协议选择win32,其余exe默认安装。
安装完毕找到安装的bin文件路径,我这里是:
C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
提示:bin文件目录下有gcc.exe,g++.exe等编译器
打开高级系统设置(advanced system setting)–>环境变量–>系统变量–>路径–>编辑–>新增完整的bin文件路径
提示:添加环境变量后可以在任意cmd下调用原bin文件下的gcc.exe,g++.exe等
opencv x64编译好的build文件下载
这里直接git clone或者下载zip,x64版本不限,我下的4.1.1,可以在Configuration中查看版本信息,选择与mingw 64相同的版本:链接
下载后解压放在任意目录都可以
提示:建议放在某盘的根目录下,不容易误删,我这里直接放在c盘根目录下了。
再添加解压包中bin目录到环境变量中,我这里目录是:
C:\opencv\x64\mingw\bin
配置codeblocks
来到最后一步,有一丢丢麻烦
新键一个console application的工程,选择c++,命名随便,编译器选择GNU GCC compiler,完成后目录中会生成main.cpp,在文件中打开main.cpp,如下:
之后配置编译器:
setting–>compiler设置为如下:
C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64
是我使用的路径,此路径下包含mingw 64的bin文件夹,其余按照上图即可。
重启codeblocks,再次确定编译器路径已经修改
再之后添加opencv的文件
project–>build options:
1.linker setting 中添加opencv中lib下所有文件
2.下图位置中添加include与opencv2路径
3.linker中添加opencv的bin目录
所有配置到此结束
测试
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat pic = imread("p1.jpg");
imshow("picture", pic);
waitKey();
return 0;
}
成功显示图片,完成。
提示:下次建工程直接复制即可,不必从新配置
把编译器路径修改很有必要,不然会报许多莫名奇妙的错误,主要原因是下载的build文件是用mingw 64编译的,其中部分内置函数操作是mingw 64自有的。
祝好