源地址(我的技术博客):http://linger.devhub.com/blog/716199-vcmatlab/
人家其他图像处理的小组都做完了project,我们小组还在争论用什么写。真蛋疼。自从组队后,我由用java写转成用c++,看到人家用matlab方便,然后我们组改成matlab。到现在,出现了分歧,有人喜欢c++,有人喜欢matlab。对于我这种喜欢偷懒的人,必然爱matlab啊。
然后我突然想起之前一段时间,高中同学刘景辉跟我提起他在搞一个project,结合使用vc++和matlab。不过他貌似通过dll来交互。于是我查了一下资料,没想到vc++和matlab的结合使用挺流行的,并且有很多方法。我就挑了一种我认为比较容易操作的方法试试,就是调用matlab的engine。关于调用engine的函数这篇博客有http://blog.sina.com.cn/s/blog_62466e480100l642.html。
不过在调用之前要做一些配置,有点烦。
1. 必须的步骤:
1.1. Vs中打开项目属性,点配置属性->vc++目录。
1.2. 在包含目录中添加如下
其中上面添加的目录为engine.h头文件所在的目录。
1.3. 在库目录下添加如下:
其中上面添加的目录为libmx.lib,libmat.lib,libeng.lib,
所在的目录
1.4. 点配置属性->链接器->输入,可以看到附加依赖项
1.5. 在附加依赖项中添加:libmx.lib;libmat.lib;libeng.lib三项。
此外,还要配置好环境变量,否则有些dll找不到,比如libmx.dll。
只要把dll所在的文件夹添加到环境变量的path中就可以了。我的电脑是F:\matlab\bin\win32。(在其他电脑运行一定要配置好这个环境变量)
关于配置问题,我参考了一下两个网页:
http://hi.baidu.com/magicdmer/blog/item/4eea2612871267dca6ef3f36.html
http://xiaozu.renren.com/xiaozu/106512/334303858
以下是加入高斯噪声的代码:
