我正在使用OpenCV3和TBB构建图像处理管道。 在流程图中传递图像时,它正在被更改。
以下是通过逆滤波器时图像的样本结果:
我写了一个单元测试,通过图表传递图像,并将输出与原始图像进行比较:
https://gist.github.com/des0ps/74528673d271e3131c2ea2a2adaf5c8c
此测试有时会通过,有时则不会。
这里发生了什么,一般来说,TBB是否支持cv :: Mat?
答案 0 :(得分:2)
似乎测试不能确保被检查的图像是相应的图像,
即左图像具有与右图像相同的序列号。从那以后这是可能的
对线程通过图表传递图像的速度没有限制。尝试使用
join_node
的'key_matching'缓冲政策。
顺便说一句,TBB是一个模板库。这意味着它的结构和算法可以
使用指定为模板参数的参数的任何类型进行实例化(当然,如果是这样的话)
类型满足相关结构/算法的要求)。例如,source_node
要求其输出类型为DefaultConstructible,即其实例由
调用类默认构造函数。编译器会自动检查这些要求。