1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +04:00

Make sure serialization with single dict preserves old behavior

This commit is contained in:
Benjamin Knecht
2025-02-24 17:33:09 +01:00
parent 3c88a001a2
commit 6c3b195a57
2 changed files with 53 additions and 6 deletions
+11 -6
View File
@@ -1407,13 +1407,18 @@ void ArucoDetector::refineDetectedMarkers(InputArray _image, const Board& _board
}
void ArucoDetector::write(FileStorage &fs) const {
fs << "dictionaries" << "[";
for (auto& dictionary : arucoDetectorImpl->dictionaries) {
fs << "{";
dictionary.writeDictionary(fs);
fs << "}";
// preserve old format for single dictionary case
if (1 == arucoDetectorImpl->dictionaries.size()) {
arucoDetectorImpl->dictionaries[0].writeDictionary(fs);
} else {
fs << "dictionaries" << "[";
for (auto& dictionary : arucoDetectorImpl->dictionaries) {
fs << "{";
dictionary.writeDictionary(fs);
fs << "}";
}
fs << "]";
}
fs << "]";
arucoDetectorImpl->detectorParams.writeDetectorParameters(fs);
arucoDetectorImpl->refineParams.writeRefineParameters(fs);
}