【问题标题】:C++ thread async for cv::Mat returning vector<rectangle>cv::Mat 的 C++ 线程异步返回向量<rectangle>
【发布时间】:2018-05-31 01:07:56
【问题描述】:

我想将捕获的帧发送到 c++ 中的不同异步线程,所以我的 6 个帧可以同时在线程中处理并发送回一个向量

我没能成功(我是 c++ 的新手)

这里是 func 和 main :

std::vector<rectangle> frame_Face_Detection(cv::Mat& value)
{
    std::vector<rectangle> facesX;
    //do stuff
    return facesX;

}

主要:

std::future<std::vector<rectangle>> fn = 
  async(std::launch::async, frame_Face_Detection , &im_small);

上面写着:

异步(不匹配函数)错误...

对初学者有什么帮助吗?

【问题讨论】:

    标签: c++ multithreading opencv asynchronous


    【解决方案1】:

    你必须使用std::ref 来通过引用你的函数来传递对象

    cv::Mat im_small;
    async(std::launch::async, frame_Face_Detection , std::ref(im_small));
    

    【讨论】:

    • 在我弄明白之前谢谢 :) 最后一个问题:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多