From 5bf98275f41ec3eef65e6fcd348eb435ecab3f7a Mon Sep 17 00:00:00 2001 From: berak Date: Sun, 14 Apr 2019 12:31:30 +0200 Subject: [PATCH] optflow: add a check for 3 channel images for sparse RLOF --- modules/optflow/src/rlofflow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/optflow/src/rlofflow.cpp b/modules/optflow/src/rlofflow.cpp index 5ee07005e..b0542e2f2 100644 --- a/modules/optflow/src/rlofflow.cpp +++ b/modules/optflow/src/rlofflow.cpp @@ -281,6 +281,8 @@ class SparseRLOFOpticalFlowImpl : public SparseRLOFOpticalFlow CV_Assert(!prevImg.empty() && prevImg.depth() == CV_8U && (prevImg.channels() == 3 || prevImg.channels() == 1)); CV_Assert(!nextImg.empty() && nextImg.depth() == CV_8U && (nextImg.channels() == 3 || nextImg.channels() == 1)); CV_Assert(prevImg.sameSize(nextImg)); + if ((param->supportRegionType == SR_CROSS) && (prevImg.channels() != 3 || nextImg.channels() != 3)) + CV_Error(cv::Error::BadNumChannels, "if SR_CROSS is used, both images need to have 3 channels."); Mat prevImage = prevImg.getMat(); Mat nextImage = nextImg.getMat();