Как я могу читать из XML-строки в OpenCV?

Я знаю, как загрузить/сохранить экземпляр cv::Mat в XML файл (см. этот вопрос).

Но мне действительно нужно разобрать std::string (или char *), который содержит XML, и получить cv::Mat. Скажем, я получаю XML из базы данных, а не из файла.

Возможно ли это?

Ответ 1

Вы можете сделать это с OpenCV 2.4.1.

Вот пример кода из примечания к выпуску:

//==== storing data ====
FileStorage fs(".xml", FileStorage::WRITE + FileStorage::MEMORY);
fs << "date" << date_string << "mymatrix" << mymatrix;
string buf = fs.releaseAndGetString();

//==== reading it back ====
FileStorage fs(buf, FileStorage::READ + FileStorage::MEMORY);
fs["date"] >> date_string;
fs["mymatrix"] >> mymatrix;