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

C++ thread async for cv::Mat returning vector<rectangle>

本文关键字:rectangle 线程 异步 lt gt cv Mat 返回 向量 C++      更新时间:2023-10-16

我想将捕获的帧发送到C 中的其他异步线程,因此我的6帧可以在线程中同时处理并发送回向量

我无法成功(我是C 的Scala Guy)

这里的弹药和主要:

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);

它说:

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

对初学者有任何帮助吗?

您必须使用std::ref通过引用您的函数

传递对象
cv::Mat im_small;
async(std::launch::async, frame_Face_Detection , std::ref(im_small));