• 【计算机视觉】MTCNN基于NCNN的测试过程


    前言

    操作过程

    NCNN:

    https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux-x86;

    vector初始化:
    int num[4] = { 1, 4, 3, 2 };
    int numLength = sizeof(num) / sizeof(num[0]);
    vector<int> nums(num, num + numLength);  //使用数组初始化向量
    Q:
    make[2]: *** No rule to make target 'ncnn/src/libncnn.a', needed by 'mtcnn'.  Stop.
    CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/mtcnn.dir/all' failed

    A:
    No rule to make target `XXX'.
    No rule to make target ` XXX ', needed by `yyy'.
    无法为重建目标“XXX”找到合适的规则,包括明确规则和隐含规则。
    修正这个错误的方法是:在Makefile中添加一个重建目标的规则。其它可能导致这些错误的原因是Makefile中文件名拼写错误,或者破坏了源文件树(一个文件不能被重建,可能是由于依赖文件的问题)。
     
    仔细检查之后发现是文件路径不对;需要将libncnn.a文件复制到需要的文件目录;
    cmake之后需要将./MTCNN_cpuimage/ncnn/build/src目录下的libncnn.a文件复制到./MTCNN_cpuimage/build/ncnn/src目录下,才可以正常make编译;
     
     
    Q:
    /home/rjzheng/uisee/code/MTCNN/MTCNN_cpuimage/src/main.cpp: In function ‘void saveImage(const char*, int, int, int, unsigned char*)’:
    /home/rjzheng/uisee/code/MTCNN/MTCNN_cpuimage/src/main.cpp:57:20: error: ‘browse’ was not declared in this scope
         browse(saveFile);

    A:
    static函数的定义位于头文件中,在main文件中调用,这种可以直接调用吗???我将该函数直接添加到main文件中可以编译通过,这可以证明该函数再头文件中不能直接被拿来调用;
     

    struct Bbox {
        float score;
        int x1;
        int y1;
        int x2;
        int y2;
        float area;
        float ppoint[10];
        float regreCoord[4];
    };

     运行

    $./mtcnn ../models/ ../sample.jpg 

    参考

    1. MTCNN人脸检测 附完整C++代码

    2. https://github.com/cpuimage/MTCNN

    3. NCNN_github;

    4. NCNN_Build for Linux x86;

  • 相关阅读:
    debian 9 安装AMD驱动
    DDL、DML、DCL、DQL的理解
    呼叫中心坐席功能都有哪些?
    使用vi编辑器的问题
    百度聊天机器人UNIT http访问
    通过http方式 post天气,并合成语音
    单链表的基本操作
    pip下载慢解决(添加国内镜像)
    Anaconda+Tensorflow配置说明
    gdb的基本使用
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/10906189.html
Copyright © 2020-2023  润新知