ncnn call to member function ‘create‘ is ambiguous

这篇博客介绍了在遇到ncnncalltomemberfunction'create'isambiguous错误时,如何通过更新ncnn库至特定版本(ncnn-20211122-android-vulkan)来解决问题。内容涉及ncnn库的使用和错误修复方法。
摘要由CSDN通过智能技术生成

ncnn call to member function 'create' is ambiguous

static int argmax(const ncnn::Mat& bottom_blob, ncnn::Mat& top_blob, std::vector<float> &prob)
{
    int size = bottom_blob.total();
    const float* ptr = bottom_blob;
    std::vector<std::pair<float, int> > vec;
    vec.resize(size);
    for (int i = 0; i < size; i++)
    {
        vec[i] = std::make_pair(ptr[i], i);
    }
    top_blob.create(bottom_blob.c, 1, 1, 4u);
    float* outptr = top_blob;

    for (size_t i = 0; i < bottom_blob.c; i++)
    {
        int size0 = bottom_blob.channel(i).total();
        std::partial_sort(vec.begin()+size0*i, vec.begin() + size0*(i+1), vec.begin() + size0 * (i + 1),
                          std::greater<std::pair<float, int> >());
        outptr[i] = vec[size0 * i].second- size0 * i;
        prob.push_back(vec[size0 * i].first);
    }

    return 0;
}

解决方法:ncnn换成以下版本:

ncnn-20211122-android-vulkan
### 回答1: "detector = ncnn.create_face_detector" 这个代码行的意思是在 ncnn 库中创建一个人脸检测器并将其存储在 "detector" 变量中。它指示程序员使用 ncnn 库中的函数创建一个人脸检测器,然后将该检测器存储在 "detector" 变量中,以便在程序的其他部分使用。 ### 回答2: 这段代码是用于创建一个人脸检测器的实例,使用了ncnn库。ncnn是一个轻量级的神经网络计算框架,适用于移动端和嵌入式设备上的实时计算任务。 通过调用ncnn库中的create_face_detector函数,我们可以创建一个人脸检测器的实例,这个实例可以用来进行人脸检测任务。该函数返回的是一个detector对象。 在创建人脸检测器实例之后,我们可以通过调用detector的相关方法来进行人脸检测。这些方法可能包括设置检测器的一些参数,如检测器的阈值、图像尺寸等。然后,我们可以使用该实例来对图像或者视频序列进行人脸检测操作,返回检测到的人脸信息,如人脸的位置、大小等。 通过使用ncnn库中的人脸检测器实例,我们可以方便地在移动端或者嵌入式设备上进行实时的人脸检测任务,为人脸识别、人脸表情分析、人脸属性提取等应用提供支持。同时,由于ncnn是一个轻量级的库,这个人脸检测器实例也具有较小的内存占用和计算资源消耗,适合在资源有限的设备上进行使用。 ### 回答3: detector = ncnn.create_face_detector 是一个函数调用,目的是创建一个基于 ncnn 框架的人脸检测器。 首先,ncnn 是一个轻量级高性能的神经网络计算库,适用于移动设备和嵌入式平台。它提供了许多函数和类,用于构建、加载和运行神经网络模型。 其中,create_face_detector 是 ncnn 库中的一个函数,它的功能是创建一个人脸检测器对象。在该函数调用中,我们可以传入一些参数来配置检测器的行为,例如模型文件路径、阈值等。 通过调用该函数,我们可以获取一个已经初始化的人脸检测器对象,该对象可以用于后续的人脸检测任务。人脸检测器的主要功能是在给定图像中检测和定位人脸。它会将输入图像作为输入,通过事先训练好的神经网络模型进行前向推理,然后输出人脸的位置信息,如人脸框的坐标和大小。 使用这个人脸检测器对象,我们可以将要检测的图像传递给它的 detect 方法来进行实际的人脸检测。该方法会返回检测到的人脸的位置信息,我们可以根据这些信息对图像进行后续的处理,如人脸识别、表情分析等。 总之,通过 ncnn.create_face_detector 函数调用可以创建一个基于 ncnn 框架的人脸检测器对象,该对象可以用于在图像中检测和定位人脸。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值