|
|
|
@ -2354,6 +2354,96 @@ TEST(Mat, regression_18473) |
|
|
|
|
EXPECT_EQ((int)5, (int)m.at<short>(19, 49, 99)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// FITIT: remove DISABLE_ when 1D Mat is supported
|
|
|
|
|
TEST(Mat1D, DISABLED_basic) |
|
|
|
|
{ |
|
|
|
|
std::vector<int> sizes { 100 }; |
|
|
|
|
Mat m1(sizes, CV_8UC1, Scalar::all(5)); |
|
|
|
|
m1.at<uchar>(50) = 10; |
|
|
|
|
EXPECT_FALSE(m1.empty()); |
|
|
|
|
ASSERT_EQ(1, m1.dims); |
|
|
|
|
ASSERT_EQ(1, m1.size.dims()); // hack map on .rows
|
|
|
|
|
EXPECT_EQ(Size(100, 1), m1.size()); |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("clone"); |
|
|
|
|
Mat m = m1.clone(); |
|
|
|
|
EXPECT_EQ(1, m.dims); |
|
|
|
|
EXPECT_EQ(Size(100, 1), m.size()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("colRange()"); |
|
|
|
|
Mat m = m1.colRange(Range(10, 30)); |
|
|
|
|
EXPECT_EQ(1, m.dims); |
|
|
|
|
EXPECT_EQ(Size(20, 1), m.size()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("reshape(1, 1)"); |
|
|
|
|
Mat m = m1.reshape(1, 1); |
|
|
|
|
EXPECT_EQ(1, m.dims); |
|
|
|
|
EXPECT_EQ(Size(100, 1), m.size()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("reshape(1, 100)"); |
|
|
|
|
Mat m = m1.reshape(1, 100); |
|
|
|
|
EXPECT_EQ(2, m.dims); |
|
|
|
|
EXPECT_EQ(Size(1, 100), m.size()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("reshape(1, {1, 100})"); |
|
|
|
|
Mat m = m1.reshape(1, {1, 100}); |
|
|
|
|
EXPECT_EQ(2, m.dims); |
|
|
|
|
EXPECT_EQ(Size(100, 1), m.size()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("copyTo(std::vector<uchar>)"); |
|
|
|
|
std::vector<uchar> dst; |
|
|
|
|
m1.copyTo(dst); |
|
|
|
|
EXPECT_EQ(100u, dst.size()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("copyTo(row2D)"); |
|
|
|
|
Mat m(5, 100, CV_8UC1, Scalar::all(0)); |
|
|
|
|
const Mat row2D = m.row(2); |
|
|
|
|
EXPECT_NO_THROW(m1.copyTo(row2D)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("convertTo(row2D)"); |
|
|
|
|
Mat m(5, 100, CV_32FC1, Scalar::all(0)); |
|
|
|
|
const Mat row2D = m.row(2); |
|
|
|
|
EXPECT_NO_THROW(m1.convertTo(row2D, CV_32FC1)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("CvMat"); |
|
|
|
|
CvMat c_mat = cvMat(m1); |
|
|
|
|
EXPECT_EQ(100, c_mat.cols); |
|
|
|
|
EXPECT_EQ(1, c_mat.rows); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("CvMatND"); |
|
|
|
|
CvMatND c_mat = cvMatND(m1); |
|
|
|
|
EXPECT_EQ(2, c_mat.dims); |
|
|
|
|
EXPECT_EQ(100, c_mat.dim[0].size); |
|
|
|
|
EXPECT_EQ(1, c_mat.dim[1].size); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
SCOPED_TRACE("minMaxLoc"); |
|
|
|
|
Point pt; |
|
|
|
|
minMaxLoc(m1, 0, 0, 0, &pt); |
|
|
|
|
EXPECT_EQ(50, pt.x); |
|
|
|
|
EXPECT_EQ(0, pt.y); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TEST(Mat, ptrVecni_20044) |
|
|
|
|
{ |
|
|
|
|