1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 07:43:03 +04:00

Merge branch 4.x

This commit is contained in:
Alexander Alekhin
2023-01-09 11:08:02 +00:00
880 changed files with 83958 additions and 9368 deletions
+90
View File
@@ -2353,6 +2353,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)
{