【发布时间】:2013-01-15 17:33:51
【问题描述】:
我从 sourceImage 中提取了四个角:
src_vertices[0] = corners[upperLeft];
src_vertices[1] = corners[upperRight];
src_vertices[2] = corners[downLeft];
src_vertices[3] = corners[downRight];
这四个角像这样被扭曲到 destinationImage:
dst_vertices[0] = Point(0,0);
dst_vertices[1] = Point(width, 0);
dst_vertices[2] = Point(0, height);
dst_vertices[3] = Point(width, height);
Mat warpPerspectiveMatrix = getPerspectiveTransform(src_vertices, dst_vertices);
cv::Size size_d = Size(width, height);
cv::Mat DestinationImage(width,height,CV_8UC3);
warpPerspective(sourceImage, destinationImage, warpPerspectiveMatrix, size_d, INTER_LINEAR, BORDER_CONSTANT);
现在我的问题是:
我有一个取自 destinationImage 的点 p(x,y) 如何在原始 sourceImage 中检索该点的坐标
也就是说我想用warpPerspectiveMatrix做getPerspectiveTransform相反的工作
【问题讨论】:
-
如果你现在获得一个新的
warpPerspectiveMatrix从目标映射到源,然后将它应用到一个点,你会得到你想要的。这样做有什么问题?
标签: image-processing opencv distortion 3d-reconstruction perspectivecamera