我已经从两个不同的场景计算出SIFT关键点。我需要给一个初始的仿射变换矩阵,以便为卢卡斯·坎达近似创建一个模板。
基本上从第一个场景中获取模板图像,然后将该模板强加到下一个场景中。更正关键点位置错误。
任何解决此问题的线索,将不胜感激。
答案 0 :(得分:0)
为了从关键点获得仿射变换,您需要调用opencv函数“ getAffineTransform(keypoints_vector1,keypoiints_vector2)”。这将返回您所需的矩阵。例如:
假设您有2个图像的两个关键点向量:
vector<Point2f> vec1;
vector<Point2f> vec2;
假设您有需要的名字“ affine_mat”的垫子
Mat affine_mat( 2, 3, CV_32FC1 );
您将opencv函数称为:
affine_mat= getAffineTransform( vec1, vec2);
此仿射矩阵将帮助您继续进行LK方法。