在Matlab下利用VS调试DSST的C/C++代码

一、安装 MinGW

想在 matlab 下利用 VS 调试 C++ 代码,首先需要安装 MinGW(纯粹胡扯,不安装也可以,后面有讲原因)。只需要登录合法的账号然后下载安装即可。
调试过程请看这篇博客

二、调试过程出现的错误。

  1. 首先是 C++ 代码中缺少了几个头文件,参考了这篇帖子之后,我下载了缺少的几个头文件。下载地址:link
  2. 下载成功之后又出现了如下问题:
    在这里插入图片描述

解决方案:link

解决后:
在这里插入图片描述

  1. 这下总算大功告成了吧!迅速附加到进程。然后开始调试:
    在这里插入图片描述
    原来还要配置 VS 与 matlab 混编的环境。

在阅读了许多资料之后,我发现我的第一步可能就是多余的。因为我本来就已经安装了 VS2022 ,相当于已经有了一个调试器,其实没有必要再去安装 MinGW 这个调试器。而我之前在命令窗口键入

mex -setup

之所以会报错,是因为我的 Matlab 版本比 VS 版本要低,因此我的 matlab 没有检测到 VS。详情及解决方案请参考这篇帖子。将两个文件添加到文件夹之后,我的问题基本就已经全部解决了,没有进行很多大佬所分享的注册列表新建工程之类的工作,具体原因与区别我也没有分析。
在这里插入图片描述
这时我再进行调试的时候发现,帧不在模块中的问题依然没有解决。解决方案请看这篇博客
至此再进行调试没有报过错了。
再放几个写的比较全面的帖子,不知道以后能不能用到:
link1
link2
link3
link4
link5

三、一些错误

还是没有办法调试。cpp文件中没有办法设置断点,一直显示“当前不会命中断点。还没有为该文档加载任何符号。”
看了很多帖子,才发现根本没有生成 .pdb 文件。然后继续查资料,感觉还是需要用 mex -g 那个命令。于是只好将下面的错误一一改好。

warning C4838: 从“int”转换到“const mwSize”需要收缩转换

解决方案:
link1link2

warning C4267:=: 从“size_t”转换到“int”,可能丢失数据
error C2440:=: 无法从“const mwSize *”转换为“const int *

本来还有一个错误:

note: 指向的类型不相关; 转换需要 reinterpret_cast、C 样式强制转换或带圆括号的函数样式强制转换

但我改完前面的之后,这个错误就自动消失了。然后 , pdb 文件就生成了(哭泣)。
然后继续附加到进程,然而还是没有办法进入断点。断点依然是空心的。

四、matlab mex文件无效: 找不到指定的模块

三个半月过去了,这个问题还是没有解决。在跑另外一个代码的时候,又遇到了新的问题。
在这里插入图片描述
按照原来的思路:
在这里插入图片描述
选择合适的编译器和编译语言后,依然不行。

五、解决方案

又过了三个月,终于弄好了。
链接

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
DSST目标追踪代码是一种用于追踪目标物体的算法。DSST代表"Discriminative Scale Space Tracker",它利用了判别尺度空间跟踪方法来实现目标追踪。 DSST目标追踪代码主要由以下几个部分组成: 1. 尺度空间模型生成:首先,代码会使用尺度空间模型生成算法来创建一个尺度空间,该空间包含了多个尺度的目标模板。这些尺度的目标模板用于在目标缩放时进行匹配。 2. 特征提取:接下来,代码会进行特征提取,从目标和背景提取一组特征向量。这些特征向量通常包括颜色、纹理、梯度等信息,用于描述目标的外观。 3. 判别回归学习:然后,代码会使用机器学习算法,如支持向量机(SVM)或随机森林(Random Forests),通过训练数据对目标和背景的特征向量进行分类。这样可以建立一个判别回归模型,用于预测新的特征向量属于目标还是背景。 4. 目标跟踪:在目标跟踪阶段,代码使用判别尺度空间跟踪方法,通过计算输入帧特征向量与目标模板的相似性来定位目标的位置。代码会在每一帧更新目标模板,并利用判别回归模型进行目标识别和跟踪。 DSST目标追踪代码在许多计算机视觉应用都有广泛的应用,例如视频监控、自动驾驶、人机交互等领域。它具有良好的鲁棒性和实时性能,可以在复杂的环境对目标进行准确的跟踪。同时,DSST目标追踪代码还可以进一步优化和改进,以提高其性能和适应性,满足不同的应用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值