From: LeonidBeynenson Date: Thu, 1 Nov 2012 15:31:45 +0000 (+0400) Subject: Fixed arguments of the function calcOpticalFlowSF. X-Git-Tag: submit/tizen_ivi/20141117.190038~2^2~1243^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02646427fb04e80bb56bfb25e9aa88e7d4da364e;p=profile%2Fivi%2Fopencv.git Fixed arguments of the function calcOpticalFlowSF. --- diff --git a/modules/video/include/opencv2/video/tracking.hpp b/modules/video/include/opencv2/video/tracking.hpp index deef20b..be9407a 100644 --- a/modules/video/include/opencv2/video/tracking.hpp +++ b/modules/video/include/opencv2/video/tracking.hpp @@ -328,16 +328,16 @@ CV_EXPORTS_W Mat estimateRigidTransform( InputArray src, InputArray dst, bool fullAffine); //! computes dense optical flow using Simple Flow algorithm -CV_EXPORTS_W void calcOpticalFlowSF(Mat& from, - Mat& to, - Mat& flow, +CV_EXPORTS_W void calcOpticalFlowSF(InputArray from, + InputArray to, + OutputArray flow, int layers, int averaging_block_size, int max_flow); -CV_EXPORTS_W void calcOpticalFlowSF(Mat& from, - Mat& to, - Mat& flow, +CV_EXPORTS_W void calcOpticalFlowSF(InputArray from, + InputArray to, + OutputArray flow, int layers, int averaging_block_size, int max_flow, diff --git a/modules/video/src/simpleflow.cpp b/modules/video/src/simpleflow.cpp index 1de8084..81886eb 100644 --- a/modules/video/src/simpleflow.cpp +++ b/modules/video/src/simpleflow.cpp @@ -447,7 +447,7 @@ static void extrapolateFlow(Mat& flow, } } -static void buildPyramidWithResizeMethod(Mat& src, +static void buildPyramidWithResizeMethod(const Mat& src, vector& pyramid, int layers, int interpolation_type) { @@ -464,9 +464,9 @@ static void buildPyramidWithResizeMethod(Mat& src, } } -CV_EXPORTS_W void calcOpticalFlowSF(Mat& from, - Mat& to, - Mat& resulted_flow, +CV_EXPORTS_W void calcOpticalFlowSF(InputArray _from, + InputArray _to, + OutputArray _resulted_flow, int layers, int averaging_radius, int max_flow, @@ -479,7 +479,11 @@ CV_EXPORTS_W void calcOpticalFlowSF(Mat& from, int upscale_averaging_radius, double upscale_sigma_dist, double upscale_sigma_color, - double speed_up_thr) { + double speed_up_thr) +{ + Mat from = _from.getMat(); + Mat to = _to.getMat(); + vector pyr_from_images; vector pyr_to_images; @@ -632,14 +636,15 @@ CV_EXPORTS_W void calcOpticalFlowSF(Mat& from, GaussianBlur(flow, flow, Size(3, 3), 5); - resulted_flow = Mat(flow.size(), CV_32FC2); + _resulted_flow.create(flow.size(), CV_32FC2); + Mat resulted_flow = _resulted_flow.getMat(); int from_to[] = {0,1 , 1,0}; mixChannels(&flow, 1, &resulted_flow, 1, from_to, 2); } -CV_EXPORTS_W void calcOpticalFlowSF(Mat& from, - Mat& to, - Mat& flow, +CV_EXPORTS_W void calcOpticalFlowSF(InputArray from, + InputArray to, + OutputArray flow, int layers, int averaging_block_size, int max_flow) {