您的位置:首页 > 编程语言 > MATLAB

Matlab OpenCV混合编程

2016-06-12 15:43 495 查看

系统及软件配置:

Windows7 64位

OpenCV 2.4.9

Matlab 2015a 64位

VS2013

应该说方法有三种:

方法一:自己编写C++程序,再通过matlab去mex

方法二:通过matlab带的Computer Vision System Toolbox OpenCV Interface

方法三:通过mexopencv编译

方法一:

这个方法比较 “复杂”,“复杂”是因为按照其他作者同样的操作,还是遇到一些奇怪的问题,后面另外编写一篇博客来说明。

问题1:VS上编写读图片显示图片的C++程序,是没有问题的。但改成mex后,虽然通过mex没有报错,但死活就是就是显示不了

问题2:cvLoadImage可以读图片,但imread就是读不了

......

方法二

打开matlab,在命令窗口中输入“visionSupportPackages”并回车;      //好像2014b之前的版本是不支持的,可参考文献

在弹出来的Support Package Installer窗口中选择默认的“Install from Internet”点击“next”;

选择“OpenCV Interface”开始安装

使用:这里有一些例子可以参考学习:http://cn.mathworks.com/help/vision/index.html

方法三mexopencv编译

准备:软件的安装、下载相应版本的OpenCV和mexopencv

需要注意的是,这个网址默认下载的是支持OpenCV 3.x,2.4、2.3或2.1的版本也上面也提供了链接。(自己琢磨出来的方法b中,如果用的OpenCV2.4,2.3或2.1的版本最好也下载下来,因为要用到mexopencv最新版本里面 make.m 函数)

解压预编译好的OpenCV,我的刚好是在C盘。

解压mexopencv到你想要的目录,然后把该目录及子目录加入到matlab的搜索路径中。可以参考下https://www.youtube.com/playlist?list=PLmcMMZCV897pofUfG1yH-8fcjpUTFUSaJ(http://kyamagu.github.io/mexopencv/里的a
user-contributed video tutorial)需要翻墙

方法a:

不要进入解压后的mexopencv,在所在的路径下,在matlab的命令窗口中执行下面命令

mexopencv.make('opencv_path', 'C:\OpenCV\build')   %把“
C:\OpenCV\build”换成自己的opencv路径,一定是带build[/code]
如果参考视频,执行mexopencv.make是会报错的,原因是直接搜索到OpenCV路劲下面的include路径了,但这个include路径是在build的下一级。

方法b:

以2.4版本为例,把mexopencv目录下的“+mexopencv”下的“make.m”函数删掉,替换成最新版本mexopencv下的相应目录的“make.m”和“isOctave.m”

不要进入解压后的mexopencv,在所在的路径下,在matlab的命令窗口中执行mexopencv.make,就可以执行了(可以看上面的视频链接)

另外,如果编译过程出现问题,在重新编译之前需要先执行“mexopencv.make('clean', true)”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: