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)”
相关文章推荐
- [算法][三轴、六轴、九轴传感器算法分析] 1、分享一个三轴加速计matlab动态可视化脚本
- Matlab使用
- Matlab如何在图上画包围目标区域的矩形(或圆)
- Matlab安装
- matlab norm函数
- matlab与c之间的函数互换以及使用
- 二分类SVM方法Matlab实现
- Ubuntu 14.04安装Matlab2012a过程
- MATLAB地图工具箱学习总结(四)自定义投影
- C/C++程序通过动态链接库调用MATLAB程序
- Matlab mex -setup 找不到编译器
- matlab fig文件的操作
- 摄像机标定
- 有用的Matlab、C、C++、Python和LaTeX代码以及数据集
- 图像检索:颜色聚合向量(CCV)及matlab实现
- Matlab find函数用法,全面解析
- Matlab 设置默认工作路径
- Matlab中图片保存的5种方法
- matlab改变GUI和figure左上角图标的方法,并生成exe文件
- Matlab画图,去掉周围白边