前言

最近在做视频追踪的项目, 在opencv中有很多现成实现追踪的函数,想用那些函数来进行一个调试,由于MATLAB有更加强大的矩阵库,众多的工具箱,以及更加便捷的可视化及调试工具,所以打算在MATLAB中调用opencv库中的函数,在此记录一下配置的过程。
  mexopencv用于OpenCV库的matlab mex函数的集合和开发工具包。mexopencv是针对特定的OpenCV版本开发的,所以必须使用对应的opencv和mexopencv版本。在此将介绍在MATLAB上配置OpenCV3.4.1mexopencv的过程。

文档

用户文档开发者文档

安装

安装opencv

先打开opencv官网,然后点击Releases,就可以开始下载对应的opencv版本




matlab可以做opencv嘛 matlab怎么装opencv_学习

我在这里选择的是

OpenCv-3.4.1,点击其中的

Windows 选项。


matlab可以做opencv嘛 matlab怎么装opencv_开发者_02



matlab可以做opencv嘛 matlab怎么装opencv_开发者_03


注意:安装好opencv后要将路径 D:***\opencv\build\x64\vc15\bin添加到系统变量path中,我这里所用的vs为2017,所以选择的文件夹为vc15,若为vs2015,则选择的文件夹为vc14。

安装mexopencv*

解压文件到你任意指定的路径下,打开MATLAB(我安装的MATLAB是R2018版本的),选定路径为你将mexopencv解压的路径,我这里是:



matlab可以做opencv嘛 matlab怎么装opencv_MATLAB_04

然后将这个路径下及其下的子路径都添加到MATLAB的设置路劲中,右击MATLAB中对应的mexopencv文件夹:


matlab可以做opencv嘛 matlab怎么装opencv_MATLAB_05


由于我这里已经添加了所有路径,所以在这里显示的是从路径下删除。

在MATLAB命令窗口输入

mex -setup

随后出现



matlab可以做opencv嘛 matlab怎么装opencv_OpenCV_06


继续点击

mex -setup C++



matlab可以做opencv嘛 matlab怎么装opencv_MATLAB_07


很关键的一步,我们需要mexopencv里的一些参数,不然会报错
首先需要将mexopencv3_4_1\+mexopencv目录下的make.m文件中的opts.opencv_path参数设置为OpenCv原先解压的路径,例如我这里是'D:\AzRjN\opencv3_4_1\opencv\build



matlab可以做opencv嘛 matlab怎么装opencv_开发者_08


再然后将其中的一些代码注释掉,不然可能会报 -R2017b这样的错误



matlab可以做opencv嘛 matlab怎么装opencv_开发者_09


最后在MATLAB的命令行中输入

mexopencv.make



matlab可以做opencv嘛 matlab怎么装opencv_OpenCV_10

等待一会儿,MATLAB编译完成


matlab可以做opencv嘛 matlab怎么装opencv_OpenCV_11


在配置的结束,以一个opencv读取摄像头的小程序结尾

camera = cv.VideoCapture();
pause(2);
for i = 1:50
    % Capture and show frame
    frame = camera.read;
    imshow(frame);
    pause(0.3);
end

最后成功的调用了电脑的摄像头。



matlab可以做opencv嘛 matlab怎么装opencv_OpenCV_12



END