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

Merge pull request #27972 from asmorkalov:as/dst_mat_type

Force empty output type where it's defined in API #27972

The PR replaces:
- https://github.com/opencv/opencv/pull/27936
- https://github.com/opencv/opencv/pull/21059

Empty matrix has undefined type, so user code should not relay on the output type, if it's empty. The PR introduces some exceptions:
- copyTo documentation defines, that the method re-create output buffer and set it's type.
- convertTo has output type as parameter and output type is defined and expected.
This commit is contained in:
Alexander Smorkalov
2025-11-10 08:00:17 +03:00
committed by GitHub
parent 386be68f93
commit 64bbaa9f41
6 changed files with 33 additions and 0 deletions
+8
View File
@@ -1199,6 +1199,14 @@ TEST(UMat, async_cleanup_without_call_chain_warning)
}
}
TEST(UMat, copyToConvertTo_Empty)
{
cv::UMat A(0, 0, CV_16SC2), B, C;
A.copyTo(B);
ASSERT_EQ(A.type(), B.type());
A.convertTo(C, CV_32SC2);
ASSERT_EQ(C.type(), CV_32SC2);
}
///////////// oclCleanupCallback threadsafe check (#5062) /////////////////////