Тип контейнера с OpenCV и OpenCL

Я хочу позвонить cv::findCountoursна некоторые cv::UMat(OpenCL активирован) и получить результатыstd::vector<std::vector<cv::Point>>.

std::vector<std::vector<cv::Point>> contours;
cv::findContours(frame_umat, contours, cv::RETR_LIST, cv::ContourApproximationModes::CHAIN_APPROX_SIMPLE);

Будет ли OpenCV по-прежнему в состоянии оптимизировать его с помощью OpenCL, даже если я использую std::vector? Есть ли какие-то преимущества использования специального контейнера, напримерcv::UMat, в качестве контейнера(а не изображения)?

1 ответ

  1. Отслеживая cv::findContoursфункцию OpenCV, я понял, что она не оптимизирована с помощью OpenCL вообще (не CUDA также). Единственная реализация, которую он имеетSSE2, насколько я нашел в OpenCV 3.1