mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Merge 4033043488
into aef6ae4872
This commit is contained in:
commit
e24109cfe6
@ -315,7 +315,7 @@ void finalizeHdr(Mat& m)
|
||||
m.rows = m.cols = -1;
|
||||
if(m.u)
|
||||
m.datastart = m.data = m.u->data;
|
||||
if( m.data )
|
||||
if( m.data && d > 0 )
|
||||
{
|
||||
m.datalimit = m.datastart + m.size[0]*m.step[0];
|
||||
if( m.size[0] > 0 )
|
||||
@ -328,7 +328,7 @@ void finalizeHdr(Mat& m)
|
||||
m.dataend = m.datalimit;
|
||||
}
|
||||
else
|
||||
m.dataend = m.datalimit = 0;
|
||||
m.dataend = m.datalimit = m.data;
|
||||
}
|
||||
|
||||
//======================================= Mat ======================================================
|
||||
|
@ -1446,6 +1446,25 @@ TEST(Core_Mat, regression_9507)
|
||||
EXPECT_EQ(25u, m2.total());
|
||||
}
|
||||
|
||||
TEST(Core_Mat, empty)
|
||||
{
|
||||
// Should not crash.
|
||||
uint8_t data[2] = {0, 1};
|
||||
cv::Mat mat_nd(/*ndims=*/0, /*sizes=*/nullptr, CV_8UC1, /*data=*/data);
|
||||
cv::Mat1b mat(0, 0, /*data=*/data, /*steps=*/1);
|
||||
EXPECT_EQ(mat_nd.dims, 0);
|
||||
EXPECT_EQ(mat.dims, 2);
|
||||
#if CV_VERSION_MAJOR < 5
|
||||
EXPECT_LE(mat_nd.total(), 0u);
|
||||
EXPECT_TRUE(mat_nd.empty());
|
||||
#else
|
||||
EXPECT_LE(mat_nd.total(), 1u);
|
||||
EXPECT_FALSE(mat_nd.empty());
|
||||
#endif
|
||||
EXPECT_EQ(mat.total(), 0u);
|
||||
EXPECT_TRUE(mat.empty());
|
||||
}
|
||||
|
||||
TEST(Core_InputArray, empty)
|
||||
{
|
||||
vector<vector<Point> > data;
|
||||
|
Loading…
Reference in New Issue
Block a user