bigdata: add test, resolve split/merge issue

This commit is contained in:
Alexander Alekhin
2016-07-08 17:46:08 +03:00
parent 627e2b15b3
commit 5f269d08b4
4 changed files with 57 additions and 12 deletions

View File

@@ -1483,3 +1483,29 @@ TEST(Mat, regression_5991)
EXPECT_EQ(sz[2], mat.size[2]);
EXPECT_EQ(0, cvtest::norm(mat, Mat(3, sz, CV_8U, Scalar(1)), NORM_INF));
}
#ifdef OPENCV_TEST_BIGDATA
TEST(Mat, regression_6696_BigData_8Gb)
{
int width = 60000;
int height = 10000;
Mat destImageBGR = Mat(height, width, CV_8UC3, Scalar(1, 2, 3, 0));
Mat destImageA = Mat(height, width, CV_8UC1, Scalar::all(4));
vector<Mat> planes;
split(destImageBGR, planes);
planes.push_back(destImageA);
merge(planes, destImageBGR);
EXPECT_EQ(1, destImageBGR.at<Vec4b>(0)[0]);
EXPECT_EQ(2, destImageBGR.at<Vec4b>(0)[1]);
EXPECT_EQ(3, destImageBGR.at<Vec4b>(0)[2]);
EXPECT_EQ(4, destImageBGR.at<Vec4b>(0)[3]);
EXPECT_EQ(1, destImageBGR.at<Vec4b>(height-1, width-1)[0]);
EXPECT_EQ(2, destImageBGR.at<Vec4b>(height-1, width-1)[1]);
EXPECT_EQ(3, destImageBGR.at<Vec4b>(height-1, width-1)[2]);
EXPECT_EQ(4, destImageBGR.at<Vec4b>(height-1, width-1)[3]);
}
#endif