mirror of
https://github.com/opencv/opencv.git
synced 2026-09-25 04:09:57 +03:00
Merge pull request #30012 from pbkx:fix-inputarray-umat-empty
core: fix InputArray empty for vector<UMat>
This commit is contained in:
@@ -728,7 +728,7 @@ bool _InputArray::empty(int i) const
|
||||
CV_Assert((size_t)i < mv->size());
|
||||
return mv->at(i).empty();
|
||||
}
|
||||
else if (k == STD_VECTOR_MAT) {
|
||||
else if (k == STD_VECTOR_UMAT) {
|
||||
auto umv = reinterpret_cast<const std::vector<UMat>*>(obj);
|
||||
CV_Assert((size_t)i < umv->size());
|
||||
return umv->at(i).empty();
|
||||
|
||||
@@ -1415,6 +1415,23 @@ TEST(Core_InputArray, empty)
|
||||
ASSERT_TRUE( _InputArray(data).empty() );
|
||||
}
|
||||
|
||||
TEST(Core_InputArray, element_empty)
|
||||
{
|
||||
Mat src = Mat::ones(2, 2, CV_8U);
|
||||
|
||||
std::vector<Mat> mats(2);
|
||||
mats[1] = src;
|
||||
InputArray matInput(mats);
|
||||
EXPECT_TRUE(matInput.empty(0));
|
||||
EXPECT_FALSE(matInput.empty(1));
|
||||
|
||||
std::vector<UMat> umats(2);
|
||||
src.copyTo(umats[1]);
|
||||
InputArray umatInput(umats);
|
||||
EXPECT_NO_THROW({ EXPECT_TRUE(umatInput.empty(0)); });
|
||||
EXPECT_NO_THROW({ EXPECT_FALSE(umatInput.empty(1)); });
|
||||
}
|
||||
|
||||
TEST(Core_InputArray, convert_from_vector_over2GB)
|
||||
{
|
||||
applyTestTag(CV_TEST_TAG_MEMORY_6GB);
|
||||
|
||||
Reference in New Issue
Block a user