平台:win10 x64+VS 2015+Matlab R2018b+opencv_python-3.4.1+mexopencv3.4.1

问题来源:最近在做图像拼接的论文, 在opencv中有很多现成实现追踪的函数,想用那些函数来进行一个调试,由于MATLAB有更加强大的矩阵库,众多的工具箱,以及更加便捷的可视化及调试工具,所以打算在MATLAB中调用opencv库中的函数,在此记录一下配置的过程。

mexopencv用于OpenCV库的matlab mex函数的集合和开发工具包。mexopencv是针对特定的OpenCV版本开发的,所以必须使用对应的opencv和mexopencv版本。在此将介绍在MATLAB上配置OpenCV3.4.1和mexopencv的过程。

1.mexopencv简介

(1)mexopencv将大多数opencv中常用的接口集合成Matlab工具,在Matlab中可以随意的调用。

(2)mexopencv官网的教程说的比较繁杂,琢磨了一晚上后发现其实配置过程就是很简单的几步。

(3)上边连接是最新版的,也就是opencv3.x。当然你也可以配置opencv2.4.X,

2.下载配置opencv

(1)下载opencv,点击打开链接,根据自己的需求决定下载3.X还是2.4.x,这一步在我博客也有:https://www.cnblogs.com/Alliswell-WP/p/opencv3OfcontribAdd.html

(2)下载成功后会得到opencv.exe文件,双击解压到合适的位置,我的为:D:\ProgramFiles\OpenCV3.4.1_x64

(3)编辑系统环境变量Path,根据自己的编译器和操作系统决定,如:D:\OpenCV\build\x86\vc10\bin  为32位操作系统,VS2010编译器

注:32位操作系统为x86,64为操作系统为x64,Matlab的位数最好与操作系统一致。我的为:D:\ProgramFiles\OpenCV3.4.1_x64\opencv\build\x64\vc14\bin

vc10--vs2010  vc11--vs2012  vc12--vs2013 vc14--vs2015

opencv3.X只支持64位,编译器为vs2013及以上版本

3.下载mexopencv

(1)如果您的opencv是3.X,在这里下载:https://github.com/kyamagu/mexopencv

(2)如果您的opencv是2.4.x,在这里下载:https://github.com/kyamagu/mexopencv/tree/v2.4

(3)下载之后将压缩包解压到合适位置,我的为:D:\Working\Matlab\mexopencv-master

4. 在Matlab中配置mexopencv

(1)Matlab中设置mexopencv路径:将mexopencv的所有文件夹极其子文件夹(我的是:D:\Working\Matlab\mexopencv-master)添加到工作目录。

(2)设置编译器:在MATLAB的命令行中输入>>mex -setup ,后点击“mex -setup C++”

(3)很关键的一步,我们需要修改mexopencv里的一些参数,不然会报错

首先需要将mexopencv3_4_1\+mexopencv目录下的make.m文件中的opts.opencv_path参数设置为OpenCV原先解压的路径,例如我这里是“D:\ProgramFiles\OpenCV3.4.1_x64\opencv\build”:opts.opencv_path = 'D:\ProgramFiles\OpenCV3.4.1_x64\opencv\build';  % OpenCV location

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

real/imaginary storage format for complex arrays

if ~mexopencv.isOctave() && ~verLessThan('matlab', '9.4')

% keep using the "separate complex storage", as opposed to the

% "interleaved complex storage" introduced in R2018a

% (see MX_HAS_INTERLEAVED_COMPLEX)

mex_flags = ['-R2017b' mex_flags];

end

注释后:

% real/imaginary storage format for complex arrays

% if ~mexopencv.isOctave() && ~verLessThan('matlab', '9.4')

% % keep using the "separate complex storage", as opposed to the

% % "interleaved complex storage" introduced in R2018a

% % (see MX_HAS_INTERLEAVED_COMPLEX)

% mex_flags = ['-R2017b' mex_flags];

% end

(4)编译opencv,在MATLAB的命令行中输入>> mexopencv.make

(5)耐心等待,编译成功后测试一下

addpath('test');

UnitTest;

如果全部显示“”PASS"则代表配置成功。

参考链接:1)Matlab和OpenCv的混合编程,工具箱mexopencv——https://blog.csdn.net/luchengtao11/article/details/52179595

opencv matlab配置,MATLAB配置mexopencv相关推荐

  1. opencv matlab配置,Matlab下运行c++程序的配置(包含opencv的c++程序)

    本文使用的是matlab2012b.VS2010和OpenCV249 1.打开matlab 2.输入mex -setup Welcome to mex -setup.  This utility wi ...

  2. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录

    已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照: ...

  3. 【VS Code配置matlab】手把手教学,matlab也能自动补全+瞬间启动+代码整理!

    前言: matlab很好地集成了大量数学处理函数,甚至封装了包括信号处理.图像处理.神经网络.音乐等在内的方法.但matlab启动慢.没有代码补全.开发环境不友善等缺点常受人诟病,算法编写者往往需要进 ...

  4. VS Code配置matlab

    前言: matlab很好地集成了大量数学处理函数,甚至封装了包括信号处理.图像处理.神经网络等在内的方法.但matlab启动慢.没有代码补全.开发环境不友善等缺点常受人诟病,算法编写者往往需要进行大量 ...

  5. 【VS Code配置matlab】

    前言: matlab很好地集成了大量数学处理函数,甚至封装了包括信号处理.图像处理.神经网络.音乐等在内的方法.但matlab启动慢.没有代码补全.开发环境不友善等缺点常受人诟病,算法编写者往往需要进 ...

  6. vscode配置matlab工作环境

    前面有两篇文章我们分别讲了在vscode里面如何配置C语言环境和python环境,那两篇文章总体来说比较复杂,当然这篇也有许多有趣的问题. 附上链接: 文章目录 matlab简介 基本要求 code ...

  7. matlab 修改语言环境,VS Code配置Matlab环境

    VSCode这么赞的轻量级多平台IDE,怎么夸它都不为过,而且很有活力,笔者使用了才半年,但半年时间内,更新速度快,且每次更新都让人觉得"值",而不是随随便便更新. 废话还是少说, ...

  8. 基于粒子群算法的混合储能容量配置matlab 以风光互补发电储能系统为背景,以年运行成本最低为目标

    基于粒子群算法的混合储能容量配置matlab 以风光互补发电储能系统为背景,以年运行成本最低为目标,根据负荷和发电量的缺额等制定超级电容和蓄电池配置方案,采用粒子群算法得到蓄电池和超级电容的个数,有详 ...

  9. matlab 8环境变量配置,matlab环境变量配置

    控制面板-系统和安全-系统-高级系统设置-环境变量 变量名 变量值一般为安装目录 MATLAB 安装完后打开 matlab,会出现"找不到指定模块"对话框或 有些命令不能完成... ...

最新文章

  1. tomcat无法启动(JVM错误)
  2. 深度学习笔记:卷积神经网络的Tensorflow实现
  3. 小米10Pro手机双击android,小米10Pro:不完美,但很小米。
  4. BNUOJ 1207 滑雪
  5. Spring学习之旅(一):Bean的基础装配
  6. 遥远的救世主:电视剧《天道》
  7. Total Commander 常用快捷键
  8. [java]房屋出租系统
  9. 可拖动组件 v-drag vue
  10. c语言编写英雄联盟,怎么用C#或者C语言注册 英雄联盟 热键
  11. 谷歌内核浏览器无法下载文件的解决方法
  12. 特征点匹配——SIFT算法详解
  13. C# 使用SharpGL-Perspective和LookAt
  14. 晚清十大武林高手(电视里常引用的真实人物)
  15. 两种web crawler方案
  16. sql数据库质疑恢复办法
  17. [理财] 关于平民理财,自己的一些理解
  18. [逆向并查集+STLmap存图奇法] Connections in Galaxy War ZOJ - 3261
  19. 洛谷P3803 fft模板
  20. 运营分析:用七种维度来分析广告投放效果

热门文章

  1. 计算机无法识别u盘,usb不能识别u盘怎么办_电脑usb突然无法识别u盘修复方法-win7之家...
  2. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Understanding Word Embeddings 1_ Just Letters
  3. 8051芯片选型 - 新唐MS51
  4. 软件测试人员需不需要懂代码?需要什么技能才行?
  5. Daily Scrum Meeting 11.05
  6. tableau免费版无法更新数据
  7. ipad2019编写html,2019 iPad性能排行榜,选对型号很重要
  8. 远场(far-field)语音识别的主流技术有哪些
  9. qcon_从QCon San Francisco 2008中学到的主要知识点和教训
  10. 选择 conforming 还是 non-conforming ?