2013-08-01 2 views
2

이미지는 python (opencv/PIL 등)을 사용하고 싶습니다. 나는 그들이 비행기에서 직사각형을 형성해야한다는 것을 알고있는 4 점을 가지고있다.평면에서 4 점의 왜곡 보정 이미지

김프에서 나는 수동으로 dewarp 그림을 사용하여 backwards-correction을 사용하고 있지만, 나는 gimp에 의존하지 않는 프로그램을 작성하고 싶습니다.

내가 찾은 모든 기능은 matrix 변환에 의존하므로 정확한 matrix을 계산하는 방법에 대한 지침을 제공하는 것으로 충분할 것으로 생각됩니다. SRC으로

cv2.getPerspectiveTransform(src, dst) 

하여 4 점을 포함하는 목록을 새로운 이미지의 모서리를 포함하는 목록을 DST :

이, 도움이 행렬을 계산하려면

답변

3

에 대한 & 감사 인사를 사용. 조심, 그들은

+0

감사합니다! 내가 왜 그 문서를 찾지 못했는지 모르겠다. – user2459109

1

전 C에서 당신의 대답은 여기 파이썬을 사용하지 않지만 올바른 순서에 있어야 ++는 동일해야합니다 :

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 
+0

고마워! 실제로 정확한 뒤틀림 기능을 찾는데 도움이되었습니다. – user2459109