Emgucv Как конвертировать FileNode в матрицу?

<CM1 type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
5.1385274254160595e+002 0. 3.2910027190134770e+002 0.
5.1238136591053387e+002 2.5289438862525913e+002 0. 0. 1.</data></CM1>

У меня есть XML-файл, который содержит матрицу.

В C ++ мы можем использовать это:

FileStorage fs("camera parameters.xml", FileStorage::READ);
Mat CM1;
fs["CM1"] >> CM1;

чтобы получить объект матрицы.

Как я могу сделать это в C #?

FileStorage fs = new FileStorage("camera parameters.xml", FileStorage.Mode.Read);
Mat CM1;
CM1 = new Mat(fs["CM1"]); //doesn't work, stuck here

1

Решение

Читать Mat объект из XML-файла, используя FileStorage объект, вы можете использовать FileNode.ReadMat() метод.

Mat CM1 = new Mat();
FileStorage fs = new FileStorage("camera parameters.xml", FileStorage.Mode.Read);
if (fs.IsOpened)
{
fs.GetNode("CM1").ReadMat(CM1);
}

Убедитесь, что вы создали экземпляр объекта Mat, вызвав new Mat() Во-первых, чтобы избежать исключения нарушения доступа к памяти.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector