• 【DPM】Deformable Part Models matlab代码在windows下的调试过程


    我下载的是voc-release5

    1.按照这篇文章,都操作了一遍:http://blog.csdn.net/pozen/article/details/7023742#quote

    2.运行demo不成功 继续按照http://cfanz.cn/index.php?c=article&a=read&id=128978的方法修改

      2.1在按这一篇运行  >> mex cascade.cpp model.cpp  时报错:  D:PROGRA~1MATLABR2012BBINMEX.PL: Error: 'cascade.cpp' not found. 

         解决:将matlab的当前路径修改成存放cascade.cpp文件的路径

         

         2.2 打开timer.h  将#include <sys ime.h> 改成 #include <time.h>

         2.3 惊喜。在运行mex fconv_var_dim.cpp时没有报错

    3.运行demo.m

           3.1注释掉

           % fprintf('compiling the code...');
           % compile;
           % fprintf('done. ');

            运行报错:Undefined function 'resize' for input arguments of type 'double'.

        看来还是不能注释掉上面那三句。

        取消注释后,把cascade_compile.m 中的第41行mexcmd = [mexcmd ' star-cascade/cascade.cc star-cascade/model.cc'];  改成 :mexcmd = [mexcmd ' star-cascade/cascade.cpp star-cascade/model.cpp'];  因为前面改过名字

               把当前路径改成voc-release5的路径:F:competitionDeformable Part Modelvoc-release5

    做到上面一步,做不下去了。各种报错。 发现网上的教程都是对应4.01版本的 我用的版本5连文件名都不完全一样

    --------------------------------------------------------------------------------------------------------------------

    改下载旧版本voc-release4.01

    按照:http://www.verydemo.com/demo_c92_i211009.html 的说明处理 实际上就是 http://blog.csdn.net/pozen/article/details/7023742#quote后面加上了一个步骤: 

        将void *process(void *thread_arg)  改为 void process(void *thread_arg) 

    此外还需要把compile.m中的mex -O fconvsse.cc -o fconv 注释掉

  • 相关阅读:
    洛谷P1265 公路修建(Prim)
    洛谷P1144 最短路计数(SPFA)
    洛谷P1198 [JSOI2008]最大数(BZOJ.1012 )
    洛谷P2879 [USACO07JAN]区间统计Tallest Cow
    洛谷P1886 滑动窗口(POJ.2823 Sliding Window)(区间最值)
    洛谷P2105 K皇后
    洛谷P3373 [模板]线段树 2(区间增减.乘 区间求和)
    洛谷P2982 [USACO10FEB]慢下来Slowing down(线段树 DFS序 区间增减 单点查询)
    洛谷P1784 数独
    洛谷 P2574 XOR的艺术(线段树 区间异或 区间求和)
  • 原文地址:https://www.cnblogs.com/dplearning/p/3851139.html
Copyright © 2020-2023  润新知