Opencv 3.4.1:仿射变换

https://stackoverflow.com/questions/23373077/using-estimaterigidtransform-instead-of-findhomography/23381664#23381664

Opencv 3.4.1:仿射变换

cvPoint2f FixedPoints;

cvPoint2f MovingPoints;

for (int i = 0; i < FixedPoing_x.size(); i++)

{

    FixedPoints.push_back(cv::Point2f(FixedPoint_x[i], FixedPoint_y[i]));

    MovingPoints.push_back(cv::Point2f(MovingPoint_x[i], MovingPoint_y[i]));

}

setcvFixedPoints(FixedPoints);

setcvMovingPoints(MovingPoints);

std::cout << "FixedPoints: \n" << FixedPoints << std::endl;

std::cout << "MovingPoints: \n" << MovingPoints << std::endl;

cv::Mat Matrix = cv::estimateRigidTransform(FixedPoints, MovingPoints, false);

if (Matrix.cols == 0)

{

    std::cout << "Error: estimateRigidTransform()执行出错!" << std::endl;

}

offset[0] = Matrix.at<double>(0, 2);

offset[1] = Matrix.at<double>(1, 2);

相关文章: