VC与matlab的混合编程总结

去年,我对matlab与vc下面混合编程实现,各种图象处理做了一些研究。主要实现算法有

小波变换,灰度形态变换,小波增强,边缘提取,直方图。对于对图象处理还不熟的朋友,matlab的开发提供很好的帮助。matlab的图形函数还是比较支持vc的编译器的,图象就不是很理想,要不断修改里面的m文件。

让我感觉自己又回到做开始做crack的时候,到处做跳转。呵呵

我怕自己一个不小心,把自己辛苦摸索出来的东西全给忘了,还是写点东西贴出来。

由于时间的关系,今天先发一个开张贴,请有兴趣的朋友多加留意,我会陆续的贴出来

与vc6的可以参照环境设置,vc++与matlab混合编程的快速实现 这篇文章,我就不多讲了

我曾经试过用matlab7.0与vc7的混合编程,结果,编译上没有问题,运行的时候什么结果都没有,也不出错.换了matlab6.5和vc7,套用vc6的编译设置,没有问题.

在编译中,主要的问题会是有些图形函数还不支持编译为c的导出库,所以,目前使用比较多的方法,都是修改m文件.最难的地方,就是这里,这里面有牵涉到一些编译的技巧,比如好些函数是无法正常执行,但是编译的时候,删除这些函数又会导致函数未声明之类的.于是,我参考网上一个办法,把函数放到一个永远无法执行的条件语句里面,编译顺利通过,我在网上找到一个pdf,里面写了大量函数,比如形态学等一系列matlab函数,如何修正才能编译成dll,在这里面,我也是获益非浅.在matlab的官方网站中,有许多关于这方面的faq,可以去了解一下.

我一直使用dll导出的方式调用matlab,所以,是可以独立与matlab运行的.发布的方法 vc++与matlab混合编程的快速实现 已经有介绍

但是还是不全面

需要注意一点的是,当你引用了toolbox中的相关函数,调用了里面的dll的时候

你必须将这些dll全部打包,在你发布的程序的机器上,一定要按照原来该dll的路径,放置这些dll

否则,程序是不会正常运行的.比如说,我的程序使用了在d;/matlab6p5\toolbox\image/xx.dll

你在目标机器上也要在d;/matlab6p5\toolbox\image/路径上,安置这些dll

我没有使用过matcom,好象使用起来会更方便.不过属于收费项目,守制于人,而且依赖于它里面的东西,虽然操作起来会方便些,调试更简单.说到调试,顺便带一下,导出库在vc程序中调试是不容易的,而且很难发现问题,编译成功的dll,未必没有问题,所以,我们先将m文件进行简单的修改,然后编译成exe,在cmd下面运行,根据调试信息进行修正,当这些都搞通之后,调用matlab已经如鱼得水了.

最后,我以自己的经验,证明这些功能函数是可以经过一定的处理,独立发布使用的

小波相关的函数,灰度形态,直方图,边缘检测,滤波,点运算

还有sin,spare更不在话下了

我的邮箱地址是xzh_ab@163.com

欢迎大家前来讨论!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值