mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 15:53:03 +04:00
video:fixed DISOpticalFlow segfault from small img
This commit is contained in:
@@ -121,6 +121,34 @@ TEST(DenseOpticalFlow_DIS, ReferenceAccuracy)
|
||||
}
|
||||
}
|
||||
|
||||
TEST(DenseOpticalFlow_DIS, InvalidImgSize_CoarsestLevelLessThanZero)
|
||||
{
|
||||
cv::Ptr<cv::DISOpticalFlow> of = cv::DISOpticalFlow::create();
|
||||
const int mat_size = 10;
|
||||
|
||||
cv::Mat x(mat_size, mat_size, CV_8UC1, 42);
|
||||
cv::Mat y(mat_size, mat_size, CV_8UC1, 42);
|
||||
cv::Mat flow;
|
||||
|
||||
ASSERT_THROW(of->calc(x, y, flow), cv::Exception);
|
||||
}
|
||||
|
||||
// make sure that autoSelectPatchSizeAndScales() works properly.
|
||||
TEST(DenseOpticalFlow_DIS, InvalidImgSize_CoarsestLevelLessThanFinestLevel)
|
||||
{
|
||||
cv::Ptr<cv::DISOpticalFlow> of = cv::DISOpticalFlow::create();
|
||||
const int mat_size = 80;
|
||||
|
||||
cv::Mat x(mat_size, mat_size, CV_8UC1, 42);
|
||||
cv::Mat y(mat_size, mat_size, CV_8UC1, 42);
|
||||
cv::Mat flow;
|
||||
|
||||
of->calc(x, y, flow);
|
||||
|
||||
ASSERT_EQ(flow.rows, mat_size);
|
||||
ASSERT_EQ(flow.cols, mat_size);
|
||||
}
|
||||
|
||||
TEST(DenseOpticalFlow_VariationalRefinement, ReferenceAccuracy)
|
||||
{
|
||||
Mat frame1, frame2, GT;
|
||||
|
||||
Reference in New Issue
Block a user