Matlab调用OpenCV的三种方式

Matlab本身有着出色的图像算法分析工具,但有时我们出于速度和开发的需要,在matlab中调用opencv辅助处理,那么如何在matlab中调用opencv呢?这篇博客介绍三种方式:Matlab嵌入C++,使用mexOpenCV第三方工具,使用Matlab官方提供的Computer Vision Toolbox中的OpenCVInterface。

Matlab中嵌入C++

在Matlab中嵌入C++,C++链接OpenCV库不失为一种选择,其核心就是matlab中混编C++,参见我之前的博客,Matlab嵌入C++,API,编译与调试

只是注意在用mex工具编译的过程中链接OpenCV的库就可以了

mex test.cpp -R2018a -I'C:/opencv/include' -L'C:/opencv/x64/vc15/lib' -lopencv_world347

使用mexOpenCV工具

直接放工具了,这个工具只支持到opencv3.4.1(需要自己编译),博主试过,编译很顺利,没有什么坑,按照github页面的wiki说明安装即可

GitHub 仓库挂件 WordPress 插件

P-Chao / mexopencv

Collection and a development kit of matlab mex functions for OpenCV library

http://kyamagu.github.io/mexopencv

如果你安装的有VS2019,那么你很幸运,博主已经编译好了二进制文件,直接下载就可以。还是上面的github地址,切换一下分支,到opencv341vc16x64-matlab2019b分支,直接下载(因为有二进制文件,所以可能下载比较久)。

下载完成后,将mexopencv/bin文件夹设置到系统环境变量path中(注意,是系统的path而不是matlab的搜索路径),将mexopencv目录和mexopencv/cv_contrib目录设置为Matlab搜索路径,然后输入 cv.getBuildInformation(),弹出如下信息,就代表可以使用了。

使用OpenCVInterface

https://ww2.mathworks.cn/help/vision/ug/opencv-interface.html?requestedDomain=cn

命令行运行 visionSupportPackages 进行安装,然后按照上面链接中的教程运行demo即可

如果以上方法不满意,也可以C++调用Matlab、转投python

 

《Matlab调用OpenCV的三种方式》有2条评论

    • 如果是编译好的的话,要下载另一个分支,如果是自己编译的话,把自己opencv的dll加入环境变量就可以了

      回复

回复 PengChao 取消回复