Как мне преобразовать cv :: Mat типа CV_32FC1 в тип CV_64FC1 (эквивалентно изменению с float на double)?
Я открываю матрицу, которая была сохранена как XML (cvSave
), но как число с плавающей точкой. Это означает, что поле <dt>
имеет значение f
в файле. Мне нужно изменить его на d
, чтобы открыть его. Но я бы предпочел не делать этого, вместо этого я бы хотел открыть его непосредственно как матрицу с элементами типа double или преобразовать позже из float в double.
Ниже приведен мой код для открытия файла.
/** Load cv::Mat from XML file.
*/
cv::Mat loadMat(const std::string filename)
{
cv::Mat result;
cv::FileStorage fs(filename, cv::FileStorage::READ);
fs.getFirstTopLevelNode() >> result;
return result;
}