前言
最近在做视频追踪的项目, 在opencv中有很多现成实现追踪的函数,想用那些函数来进行一个调试,由于MATLAB有更加强大的矩阵库,众多的工具箱,以及更加便捷的可视化及调试工具,所以打算在MATLAB中调用opencv库中的函数,在此记录一下配置的过程。
mexopencv用于OpenCV库的matlab mex函数的集合和开发工具包。mexopencv是针对特定的OpenCV版本开发的,所以必须使用对应的opencv和mexopencv版本。在此将介绍在MATLAB上配置OpenCV3.4.1和mexopencv的过程。
文档
安装
安装opencv
先打开opencv官网,然后点击Releases,就可以开始下载对应的opencv版本
我在这里选择的是
OpenCv-3.4.1,点击其中的
Windows 选项。
注意:安装好opencv后要将路径 D:***\opencv\build\x64\vc15\bin添加到系统变量path中,我这里所用的vs为2017,所以选择的文件夹为vc15,若为vs2015,则选择的文件夹为vc14。
安装mexopencv*
解压文件到你任意指定的路径下,打开MATLAB(我安装的MATLAB是R2018版本的),选定路径为你将mexopencv解压的路径,我这里是:
然后将这个路径下及其下的子路径都添加到MATLAB的设置路劲中,右击MATLAB中对应的mexopencv文件夹:
由于我这里已经添加了所有路径,所以在这里显示的是从路径下删除。
在MATLAB命令窗口输入
mex -setup
随后出现
继续点击
mex -setup C++
很关键的一步,我们需要mexopencv里的一些参数,不然会报错
首先需要将mexopencv3_4_1\+mexopencv
目录下的make.m
文件中的opts.opencv_path
参数设置为OpenCv原先解压的路径,例如我这里是'D:\AzRjN\opencv3_4_1\opencv\build
:
再然后将其中的一些代码注释掉,不然可能会报 -R2017b
这样的错误
最后在MATLAB
的命令行中输入
mexopencv.make
等待一会儿,MATLAB编译完成
在配置的结束,以一个opencv
读取摄像头的小程序结尾
camera = cv.VideoCapture();
pause(2);
for i = 1:50
% Capture and show frame
frame = camera.read;
imshow(frame);
pause(0.3);
end
最后成功的调用了电脑的摄像头。
END