我想使用Python(OpenCV / PIL等)对图像进行去畸变。我有4个点,它们应该在一个平面上形成一个矩形。
在GIMP中,我可以使用反向校正手动去除图像的畸变,但我想编写一个程序,不依赖于GIMP。
我找到的所有函数都依赖于变换矩阵,因此我想了解如何计算正确的矩阵。
感谢您的帮助。
在GIMP中,我可以使用反向校正手动去除图像的畸变,但我想编写一个程序,不依赖于GIMP。
我找到的所有函数都依赖于变换矩阵,因此我想了解如何计算正确的矩阵。
感谢您的帮助。
计算此矩阵,使用:
cv2.getPerspectiveTransform(src, dst)
transformationMatrix= cv::getPerspectiveTransform(source , dst_pnt); // getting the transformation matrix
cv::warpPerspective(src, quad, transformationMatrix,perspectiveSize,1); // warping
.........................
unwarping
cv::Matx33f unwarp = transformMatrix;
cv::Point3f homogeneous = unwarp.inv() *pTmp; // pTmp is a point in your transformaed frame
cv::Mat unwarpFrame = unwarp.inv() * srcFrame; // in case of a frame
enter code here