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

标签 c++ multithreading opencv asynchronous

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

我没能成功(我是 scala 的 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);

它说:

async (not matching function) error...

对初学者有什么帮助吗?

最佳答案

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

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

关于cv::Mat 返回 vector 的 C++ 线程异步 <rectangle>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47855778/

相关文章:

python - 我们可以使用 SWIG 为 Qt 应用程序制作 python 绑定(bind)吗?

java - 线程池不调整大小

multithreading - 如何在Scala中中断任务?

c++ - 如何使用 opencv flann::Index?

visual-studio-2010 - 在Visual Studio 2010中的cvQueryFrame执行

c++ - Qt 多线程 QThreads 保持 TCP 连接并被重用

c++ - COM - 在 C++ 中使用 IEnumerable

c++ - 已编译二进制文件的大小如何取决于所使用的库? C/C++

java - 对 Java 多线程网络应用程序进行单元测试

opencv - 如何使用Opencv从移动相机中提取前景