之前大多时候都在用Matlab做计算机视觉,但是最近项目需要要用到OpenCv.原本打算自己写函数来混合编译,无意间发现了mexopencv,如获珍宝。
1.mexopencv简介
(1)mexopencv将大多数opencv中常用的接口集合成Matlab工具,在Matlab中可以随意的调用。
(2)
mexopencv官网的教程说的比较繁杂,我琢磨了一晚上后发现其实配置过程就是很简单的几步。
(3)上边连接是最新版的,也就是opencv3.x。当然你也可以配置opencv2.4.X,
2.下载配置opencv
(1)下载opencv,
点击打开链接,根据自己的需求决定下载3.X还是2.4.x
(2)下载成功后会得到opencv.exe文件,双击解压到合适的位置,本文采用
D:\OpenCv\
(3)编辑系统环境变量Path,根据自己的编译器和操作系统决定,如:D
:\OpenCV\build\x86\vc10\bin
为32位操作系统,VS2010编译器
注:32位操作系统为x86,64为操作系统为x64,Matlab的位数最好与操作系统一致。
vc10--vs2010 vc11--vs2012 vc12--vs2013 vc14--vs2015
opencv3.X只支持64位,编译器为vs2013及以上版本
3.下载mexopencv
(1)如果您的opencv是3.X,在这里下载:https://github.com/kyamagu/mexopencv
(2)如果您的opencv是2.4.x,在这里下载:https://github.com/kyamagu/mexopencv/tree/v2.4
(3)下载之后将压缩包解压到合适位置,本文采用D:\mexopencvmaster\
4. 在Matlab中配置mexopencv
(1)设置编译器:
mex -setup
(2)将mexopencv的所有文件夹极其子文件夹(D:\mexopencvmaster\)添加到工作目录。
(3)编译opencv
>> mexopencv.make('opencv_path', 'C:\OpenCV\build')
(4)耐心等待,编译成功后测试一下
addpath('test');
UnitTest;
如果全部显示“”PASS"则代表配置成功。