matlab-CPD工具箱的使用

下载CPD工具包

链接:https://github.com/engixy/CPD

使用CPD工具包

1)下载得到压缩包CPD-master.zip,将该压缩包解压,如下图所示:
在这里插入图片描述
2)打开matlab找到这个文件夹,选择CPD-master–>右击—>添加到路径–>选定的文件夹和子文件夹
3)打开cpd_make.m,编译运行,此时报下图中的错误:
在这里插入图片描述
原因分析:
点击fileparts,打开一个提示框,根据note可以知道,fileparts命令的第四个输出量versn已经被舍弃了,事实上,这个参数在后面也没有被使用。
在这里插入图片描述
解决方法:
将文件cpd_make.m第23行

psave=pwd; p = mfilename('fullpath'); [pathstr, name, ext, versn] = fileparts(p);

改为

psave=pwd; p = mfilename('fullpath'); [pathstr, name, ext] = fileparts(p);

即可。
4)再次编译运行cpd_make.m,之前的错误已经解决,可是出现一个新的错误:
在这里插入图片描述
原因分析:
根据命令行窗口的提示可以看出,两次编译均失败。这个报错的原因是matlab的版本太低了。MATLAB运行C语言时,经常会碰到C编译器不支持的问题。找到MATLAB安装文件夹,在路径C:\Program Files\MATLAB\R2014a\bin\win64\mexopts(视具体情况而定)中只有msvc2008,msvc2010,msvc2013三个XML文档。也就是matlab的版本与支持的C编译器的版本相关,只有版本合适才能完成编译。
参考链接 https://blog.youkuaiyun.com/mrlishi/article/details/81228518
在这里插入图片描述
解决方法:
改用版本更高的matlab,我用的matlab2020b。
5)再次编译运行cpd_make.m,错误仍然没有解决,执行命令mex -setup,报错如下:
错误使用 mex
未找到支持的编译器或 SDK。
您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问http://www.mathworks.com/support/compilers/R2016b/win64.html。
原因分析:
matlab编译c程序失败的原因是缺少c编译器。
解决方法:
在命令行窗口的错误提示处点击MinGW-w64 C/C++ ,按照提示安装好MinGW-w64 C/C++ 编译器。
测试:
在命令行窗口输入mex -setup,出现以下提示:
在这里插入图片描述
6)测试:
(1)编译运行cpd_make.m成功,提示如下:
在这里插入图片描述
(2)在examples文件夹中,任选一个,此处编译运行cpd_Nonrigid_example5.m,运行结果如下:
在这里插入图片描述
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兔子的倔强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值