Как лучше всего редактировать/обновлять файл YAML/YML в OpenCV?
Как редактировать/обновлять файл YAML в OpenCV?
Ответы (2)
НЕТ ПРЯМОЙ поддержки обновления в YAML в целом, потому что необходимо перезаписать весь файл ниже узла обновления, поэтому причина в OpenCV, а также в yaml-cpp не поддерживает прямое редактирование значения узла. Таким образом, обходной путь заключается в повторном создании/записи структуры YAML.
Похоже, что у OpenCV есть несколько собственных способов чтения и записи YAML. Из этого ответа SO я нашел следующую "шпаргалку" для интерфейса OpenCV C++:
https://code.ros.org/trac/opencv/export/3163/trunk/opencv/doc/opencv_cheatsheet.pdf
Часть их примера для написания YAML:
FileStorage fs("test.yml", FileStorage::WRITE);
fs << "i" << 5 << "r" << 3.1 << "str" << "ABCDEFGH";
Если вы заинтересованы в обновлении существующего файла YAML, кажется, что лучший способ — прочитать существующий файл в свой собственный тип данных, внести изменения, а затем записать новые данные в файл.