TBB是否支持OpenCV类型?

时间:2017-01-25 03:47:14

标签: c++ opencv image-processing tbb tbb-flow-graph

我正在使用OpenCV3和TBB构建图像处理管道。 在流程图中传递图像时,它正在被更改。

以下是通过逆滤波器时图像的样本结果:

enter image description here

enter image description here

我写了一个单元测试,通过图表传递图像,并将输出与原始图像进行比较:

https://gist.github.com/des0ps/74528673d271e3131c2ea2a2adaf5c8c

此测试有时会通过,有时则不会。

这里发生了什么,一般来说,TBB是否支持cv :: Mat?

1 个答案:

答案 0 :(得分:2)

似乎测试不能确保被检查的图像是相应的图像,     即左图像具有与右图像相同的序列号。从那以后这是可能的     对线程通过图表传递图像的速度没有限制。尝试使用     join_node的'key_matching'缓冲政策。

顺便说一句,TBB是一个模板库。这意味着它的结构和算法可以     使用指定为模板参数的参数的任何类型进行实例化(当然,如果是这样的话)     类型满足相关结构/算法的要求)。例如,source_node     要求其输出类型为DefaultConstructible,即其实例由     调用类默认构造函数。编译器会自动检查这些要求。