1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +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
+9
View File
@@ -1385,6 +1385,15 @@ TEST(Core_Mat, push_back)
}
}
TEST(Core_Mat, copyToConvertTo_Empty)
{
cv::Mat 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);
}
TEST(Core_Mat, copyNx1ToVector)
{
cv::Mat_<uchar> src(5, 1);