将助推阵列转换为打开cv-mat
Convert boost array to open cv mat
我试图将boost::array-rightCamInfo.K转换为opencv-Matcv::Mat K 但这给了我奇怪的结果。给定数据的范围在400和0之间,结果矩阵约为5*10^(-315)。因此,显然存在一些转换错误。怎么了?是我为矩阵选择了错误的类型,还是这个数组类型不合适?float tempK[9];
cv::Mat K;
for (int i = 0; i < 9; i++) {
tempK[i] = rightCamInfo.K[i];
}
K = cv::Mat(3, 3, CV_64F, &tempK);
您应该使用CV_32F
而不是CV_64F
,并指向tempK
的第一个元素
K = cv::Mat(3, 3, CV_32F, &tempK[0]);
或
Mat K(3, 3, CV_32F, &tempK[0]);
相关文章:
- 将 cv::mat 转换为 QImage
- 将 cv::Mat 转换为 std::vector 的通用函数
- 如何将 cv::Mat 转换为 vtkImageData?
- Qt-工作线程崩溃时将cv::Mat转换为QImage
- 将 cv::Mat 转换为无符号的 int 像素
- 如何在不复制数据的情况下将 cv::Mat 转换为 2d 标准::矢量
- 将CV :: MAT转换为STD :: vector而无需复制
- 如何将cv::Mat转换为带有颜色的pcl::点云
- 将 cv::Mat 转换为穿山甲::图像
- 如何将'cv::Mat'转换为"双倍"?
- 错误 C2664:'cvSaveImage':无法将参数 2 从 'cv::Mat' 转换为 'const CvArr *'
- 使用 QImage::loadFromData 将 cv::mat 转换为 QImage
- 如何在 OpenCv 中将 cv::Mat 转换为灰度
- 如何从 cv::Mat 转换为 CvArr
- 将3x1或1x3 cv::Mat转换为cv::Point3d
- 将一行cv::Mat转换为std::vector
- 如何将cv::Mat转换为cv::Matx33f
- 将CV::Mat转换为Arma::Mat
- 将数据从cv::Mat转换为mxArray
- Opencv中的错误-无法将' cv::Mat '转换为' const CvArr*