MATLAB 2018b 安装 mexopencv (VS 2017 编译)

在MATLAB 2018b中安装mexopencv并使用VS 2017编译时遇到报错,问题在于-mxopencv.make()命令无法识别'R2017b-largeArrayDims'字段。通过修改make.m文件中关于MATLAB版本判断的部分,注释掉添加'-R2017b'的代码,使字段保持为'-largeArrayDims',从而解决了问题。确保OpenCV、MATLAB和编译器版本匹配,以避免安装过程中出现错误。
摘要由CSDN通过智能技术生成

MATLAB 2018b 安装 mexopencv (VS 2017 编译)

之前电脑上装的是MATLAB 2016b, 没办法识别VS 2017, 虽然官方说有补丁解决这个问题, 但还是下了最新的2018b. 2018b 识别VS 2017 是没问题了, 但在使用mexopencv.make()命令时还是报错

Error using mex
Unknown MEX argument '-R2017b-largeArrayDims'.
Error in mexopencv.make (line 97)
            if ~opts.dryrun, eval(cmd); end

字面意思看就程序不能识别字段 ‘-R2017b-largeArrayDims’. 这种情况第一反应是把make.m中相关语句的2017直接改成2018,但是无效, 还是报一样的错误.

于是后面仔细阅读程序后又试了另外一种方法, 找到make.m的275~281行(如下所示), 这一段是判断MATLAB版本信息, 然后在’-largeArrayDims’ 前加上’-R2017b’, 注释掉这一段, 则字段就会保持在’-largeArrayDims’ , 这才是2018b认识的字段, 重新执行make.m, 程序顺利运行.

 % 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 R2017a
%         % (see MX_HAS_INTERLEAVED_COMPLEX)
%         mex_flags = ['-R2017b' mex_flags];
%     end

安装mexopencv时OpenCV, MATLAB, 编译器的版本都要对应起来, 指不定哪里就报错了. 作为一名新手, 把自己碰的壁在这里分享一下, 希望能够有所帮助.

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值