系统配置:win7 旗舰版 + matlab R2010a + visual studio2010

调试代码:http://www.cs.brown.edu/~pff/latent-release4/(release1)

1、 源程序中调用了.cpp文件,所以需要首先设置mex.

http://xiaoqianaihuangten.blog.163.com/blog/static/191602033201211561656228/

由于matlab R2010a不支持visual studio 2010的编译器,所以需要下载补丁VS2010Mexsupport.zip

http://blog.csdn.net/weixingstudio/article/details/7886999

具体解压格式为 unzip( path_to_zip_file, matlabroot);

(文件路径记得用单引号括起来,加文件名)用unzip可以把文件直接解压到它应该存在的路径下,而不用担心应该把解压后的文件放在哪里。

2、代码只可以在unix/linux/mac上运行,稍加改动就可以在windows上面运行。

      a. dt.cc 添加一句:#define int32_t  int

      b. features.cc &  resize.cc中添加:

      #define bzero(a, b) memset(a, 0, b) 
      int round(float a) { float tmp = a - (int)a; if( tmp >= 0.5 ) return (int)a + 1; else return (int)a; }

      c. resize.cc中:  alphainfo ofs[len]; 这句改成:alphainfo *ofs = new alphainfo[len];  当然在同一作用域后面   加上:delete []ofs;

改了上边的几个地方后,就可以运行了。跑demo.m看效果吧。

摘自 : http://blog.csdn.net/pozen/article/details/7023742

3. 下一步搞懂原理,调试其他的几个版本。

 

附 :matlab通过mex接口调用C下的代码 http://blog.sina.com.cn/s/blog_468651400100coas.html