用于cv :: Mat的C ++线程异步返回向量<rectangle>

时间:2017-12-17 13:48:22

标签: c++ multithreading opencv asynchronous

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

我无法成功(我是c ++的新手)

这里是func和main:

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

}

在main中:

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

它说:

  

异步(不匹配功能)错误...

对生儿的任何帮助?

1 个答案:

答案 0 :(得分:1)

您必须使用std::ref通过引用传递对象

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