【发布时间】:2014-03-20 14:59:15
【问题描述】:
在opencv和C++中,如果我之前已经找到了2个图像之间的变换矩阵,为什么需要这样做
Mat affineTransform=getAffineTransform(coordinates_1.data(),coordinates_2.data()) ;
Mat perspectiveTransform=Mat::eye(3,3,CV_64FC1);
for(unsigned int y=0; y<2; ++y){
for(unsigned int x=0; x<3; ++x){
perspectiveTransform.at<double>(y,x) = affineTransform.at<double>(y,x);
}
而不是将变换矩阵直接应用于图像。我理解 Mat::eye() 的含义,但为什么要经历这一切?
注意:originalTranformationMatrix 是一个 Mat 对象,找到的变换矩阵是一个 3 x 3 矩阵
【问题讨论】:
-
这还不清楚。你能用真实的东西替换你的伪代码吗?
-
是的,我已经替换了伪代码