【发布时间】:2022-07-14 20:47:09
【问题描述】:
我的代码:
cv::Mat
getPerspectiveTransform(Eigen::MatrixXd quadrangle, Eigen::MatrixXd warpedQuadrangle) {
cv::Mat transMat;
cv::Mat quad(4,2,CV_32FC1);
cv::Mat warpedQuad(4,2,CV_32FC1);
cv::eigen2cv(quadrangle,quad);
cv::eigen2cv(warpedQuadrangle,warpedQuad);
std::cout << \"[ ] quadrangle in cv::Mat \" << quad << std::endl;
transMat = cv::getPerspectiveTransform(quad,warpedQuad);
return transMat;
}
错误:
C++ exception with description \"OpenCV(4.6.0) /home/ci/opencv/modules/imgproc/src/imgwarp.cpp:3392: error: (-215:Assertion failed) src.checkVector(2, CV_32F) == 4 && dst.checkVector(2, CV_32F) == 4 in function \'getPerspectiveTransform\'
疑似问题:
eigen2cv 正在将我的 CV_32FC1 转换为 CV_64F。 getPerspectiveTransform 期望 CV32F 作为其输入。
理想的解决方案应该是什么?
-
十字邮报:forum.opencv.org/t/…