cv :: Mat返回向量的C ++线程异步

问题描述 投票:2回答:1

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

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

这里的功能和主要:

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个回答
1
投票

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

cv::Mat im_small;
async(std::launch::async, frame_Face_Detection , std::ref(im_small));
© www.soinside.com 2019 - 2024. All rights reserved.