gapi: Full calcOpticalFlowPyrLK implementation (2 overloads) and tests
- opencv_gapi module is linked with opencv_video module (optional dependency)
- kernels added to a new cv::gapi::video namespace and a brand new files created to provide gapi_video environment
- there are 2 different kernels as G-API should provide GMat AND GArray<GMat> implementation: cv::calcOptFlowPyrLK doesn't calculate pyramids if vector<Mat> is given so just the cast GMat -> GArray<GMat> wouldn't represent all the cv:: functionality
- tests to check both kernels (based on cv::video tests for cv::calcOpticalFlowPyrLK())
- tests for internal purposes added
- vectors<T> comparison in tests implemented
- new (and old too) common test structures refactored to avoid code copypasting
- "modules/gapi/test/common/gapi_video_tests_common.hpp" created to share some code snippets between perf and acc tests and avoid code copypasting
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
// This file is part of OpenCV project.
|
||||
// It is subject to the license terms in the LICENSE file found in the top-level directory
|
||||
// of this distribution and at http://opencv.org/license.html.
|
||||
//
|
||||
// Copyright (C) 2020 Intel Corporation
|
||||
|
||||
|
||||
#include "precomp.hpp"
|
||||
|
||||
#include <opencv2/gapi/video.hpp>
|
||||
|
||||
namespace cv { namespace gapi {
|
||||
using namespace video;
|
||||
|
||||
|
||||
GOptFlowLKOutput calcOpticalFlowPyrLK(const GMat &prevImg,
|
||||
const GMat &nextImg,
|
||||
const cv::GArray<cv::Point2f> &prevPts,
|
||||
const cv::GArray<cv::Point2f> &predPts,
|
||||
const Size &winSize,
|
||||
int maxLevel,
|
||||
const TermCriteria &criteria,
|
||||
int flags,
|
||||
double minEigThresh)
|
||||
{
|
||||
return GCalcOptFlowLK::on(prevImg, nextImg, prevPts, predPts, winSize, maxLevel,
|
||||
criteria, flags, minEigThresh);
|
||||
}
|
||||
|
||||
GOptFlowLKOutput calcOpticalFlowPyrLK(const cv::GArray<cv::GMat> &prevPyr,
|
||||
const cv::GArray<cv::GMat> &nextPyr,
|
||||
const cv::GArray<cv::Point2f> &prevPts,
|
||||
const cv::GArray<cv::Point2f> &predPts,
|
||||
const Size &winSize,
|
||||
int maxLevel,
|
||||
const TermCriteria &criteria,
|
||||
int flags,
|
||||
double minEigThresh)
|
||||
{
|
||||
return GCalcOptFlowLKForPyr::on(prevPyr, nextPyr, prevPts, predPts, winSize, maxLevel,
|
||||
criteria, flags, minEigThresh);
|
||||
}
|
||||
|
||||
} //namespace gapi
|
||||
} //namespace cv
|
||||
Reference in New Issue
Block a user