2017-01-25 4 views
0

Я строю конвейер обработки изображений с использованием OpenCV3 и TBB. При передаче изображения в поточном графике он изменяется.Поддерживает ли TBB типы OpenCV?

Вот результат выборки изображения при прохождении через обратный фильтр:

enter image description here

enter image description here

я написал модульный тест, который проходит изображения через граф и сравнить выход к Исходное изображение:

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

Thi s test иногда проходит, а иногда нет.

Что происходит здесь и вообще говоря, являются cv :: Mat, поддерживаемые TBB?

ответ

2

Кажется, что тест не гарантирует, что проверенные изображения соответствуют соответствующим изображениям, т.е. левое изображение имеет тот же порядковый номер, что и правый. Это возможно, так как там не являются ограничениями на то, как быстрые потоки проходят изображения по графику. Попытайтесь использовать 'key_matching' буферную политику для join_node.

Кстати, TBB является библиотекой шаблонов. Это означает, что его структуры и алгоритмы могут быть , созданных с любым типом, указанным в качестве аргумента для параметра шаблона (конечно, если этот тип удовлетворяет требованиям рассматриваемой структуры/алгоритма). Например, source_node требует, чтобы его тип вывода был DefaultConstructible, то есть его экземпляры создаются с помощью конструктора по умолчанию для класса вызовов. Такие требования автоматически проверяются компилятором.

Смежные вопросы