MATLAB2018a+mexopencv+opencv+VS2017配置步骤,从下载到安装使用的全套姿势

本文详细介绍了如何在MATLAB2018a中配置并使用mexopencv调用opencv,包括下载所需软件、设置路径、使用cmake生成VS解决方案、解决编译问题,以及最终在MATLAB中验证配置成功的过程。

最近需要读取视频,MATLAB居然不支持特定格式,徘徊在把代码改成python和配置MATLAB去调用opencv之间,最后选了后者。我也出现过失败,装了第二次。过程中一定要看仔细,如果遇到错误找找相同类型的帖子有没有说明。

条件:已经安装了MATLAB2018a,VS2017

MATLAB命令行中mex -setup可执行

下载Windows版本的cmake:

https://cmake.org/download/

下载了opencv3.4.1:

https://github.com/opencv/opencv/archive/3.4.1.zip

下载了opencv_contrib3.4.1:

https://github.com/opencv/opencv_contrib/archive/3.4.1.zip

下载mexopencv3.4.1

https://github.com/kyamagu/mexopencv

OpenCV路径设置:

D:\SoftWare\OpenCV3.4.1_contib

D:\SoftWare\OpenCV3.4.1

然后开始通过生成一个VS解决方案去搭建上述环境资源。通过cmake-gui.exe,按照如下步骤:

1)设置源文件路径

2)设置目标文件路径

后来为了简洁美观,有点小调整,文件目录及路径为:

选定源文件路径和生成文件路径:

3)点击Configure,选择vs编译器,中间出了点小插曲,卸载了一下cmake,然后重装了一下,在tools里面选择编译器

 

  • 在build组中取消以下选项:BUILD_DOCSBUILD_EXAMPLESBUILD_PACKAGEBUILD_PERF_TESTSBUILD_TESTSBUILD_JAVABUILD_opencv_appsBUILD_opencv_cuda*BUILD_opencv_cudevBUILD_opencv_jsBUILD_opencv_java*BUILD_opencv_python*BUILD_opencv_tsBUILD_opencv_vizBUILD_opencv_world
  • opencv组中设置如下:
  • with组中,撤销选定如下内容:WITH_CUDAWITH_CUFFTWITH_CUBLASWITH_NVCUVIDWITH_MATLABWITH_VTK
  •  
  •  
  • 然后,重新点击configure,generate,关闭cmake
  • ------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 编译opencv:
  • 1)打开VS2017,打开opencv.sln
  • 2)  将vs2017的debug模式换成release
  • 3)ALL_BUILD右键生成

  • -----------------------------------------------------------------------------------------------------------------------------------------------------------------注意:需要一定的时间,另外,需要注意中间报错有一个const char* 无法转换为char*,当时忘记截图,所以我的选择是直接找到报错命令行,将char* 前面加上const即可正确生成。
  • ------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 4)INSTALL右键生成
  • 5)关闭vs

添加环境变量

D:\SoftWare\dev\build\install\x64\vc15\bin

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

打开MATLAB

>> cd('D:\SoftWare\dev\mexopencv')
>> addpath('D:\SoftWare\dev\mexopencv')
>> addpath('D:\SoftWare\dev\mexopencv\opencv_contrib')
>> mexopencv.make('opencv_path','D:\SoftWare\dev\build\install','opencv_contrib',true)

如果报错:

错误使用 mex
MEX 参数 '-R2017b-largeArrayDims' 未知。

打开mexopencv中的make.m文件

找到如下内容:ctrl+r

 % real/imaginary storage format for complex arrays
%     if ~mexopencv.isOctave() && ~verLessThan('matlab', '9.4')

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值