franzhong 2020-07-29 15:59 采纳率: 100%
浏览 228
已采纳

QT opencv darknet异常

图片说明

debug到载入网格的时候就异常退出了,该怎么知道错误原因呢?加try catch也没输出任何东西。QT中你们都是这样调试的吗?只能找到某一行,不知道具体出错原因?

【说明】:

(1)代码没有问题,相同代码在VS2019下运行正常。

(2)环境没有问题,相同环境,且QT正常配置了参数,编译前无语法错误,在dnn.hpp中有三个函数,见尾部引用。。。

(3)关于路径:三个训练文件都放在了,工程的build-MeDetection-Desktop_x86_windows_msvc2019_pe_64bit-Debug 文件夹下了,出错代码的上方代码为:

    std::string classesFile = "me.names";
    std::ifstream classNamesFile(classesFile.c_str());
    if (classNamesFile.is_open())
    {
        std::string className = "";
        while (std::getline(classNamesFile, className))
            classes.push_back(className);
    }
    else {
        std::cout << "can not open classNamesFile" << std::endl;
    }

上面的代码并没有输出“can not open classNamesFile”,说明me.names的路径是正确的,同理,另两个文件的路径应该也没有问题,但是cv::dnn::readNetFromDarknet(modelConfiguration, modelWeights)这句就是通过不了,还不能提示具体的原因怎么办???

-----------------------------谢谢

引用

/** @brief Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
    *  @param cfgFile      path to the .cfg file with text description of the network architecture.
    *  @param darknetModel path to the .weights file with learned network.
    *  @returns Network object that ready to do forward, throw an exception in failure cases.//没看到,不清楚failure细节被扔哪去了>.<~!
    *  @returns Net object.
    */
    CV_EXPORTS_W Net readNetFromDarknet(const String &cfgFile, const String &darknetModel = String());

    /** @brief Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
     *  @param bufferCfg   A buffer contains a content of .cfg file with text description of the network architecture.
     *  @param bufferModel A buffer contains a content of .weights file with learned network.
     *  @returns Net object.
     */
    CV_EXPORTS_W Net readNetFromDarknet(const std::vector<uchar>& bufferCfg,
                                        const std::vector<uchar>& bufferModel = std::vector<uchar>());

    /** @brief Reads a network model stored in <a href="https://pjreddie.com/darknet/">Darknet</a> model files.
     *  @param bufferCfg   A buffer contains a content of .cfg file with text description of the network architecture.
     *  @param lenCfg      Number of bytes to read from bufferCfg
     *  @param bufferModel A buffer contains a content of .weights file with learned network.
     *  @param lenModel    Number of bytes to read from bufferModel
     *  @returns Net object.
     */
    CV_EXPORTS Net readNetFromDarknet(const char *bufferCfg, size_t lenCfg,
                                      const char *bufferModel = NULL, size_t lenModel = 0);
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-07-29 16:56
    关注

    这种引用静态库的程序,需要严格匹配c++编译器的版本,否则就会各种报错,尽管可以编译。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。