29
CV_32FC1型のcv :: MatをCV_64FC1型に変換するにはどうすればよいですか(floatからdoubleへの変更に相当)?CV_32FC1型の行列をCV_64FC1に変換
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;
}
、あなたは8Uに16Uのようなものから変換している場合、あなたは三番目のパラメータとして倍率を追加する必要があります。 'A.convertTo(A、CV_8UC1,255.0/65536.0);' –