我想要dewarp
使用python
(opencv/PIL
等)的圖像。我有4點,我知道他們應該在飛機上形成一個矩形。在飛機上使用4個點不扭曲/去扭曲圖片
在瘸子我可以手動dewarp
圖片使用backwards-correction
,但我想編寫一個程序,這不依賴於gimp
。
我發現的所有功能都依賴於轉換matrix
,所以我想只要給我一些關於如何計算正確的matrix
的指示就足夠了。
電賀&感謝您的幫助
我想要dewarp
使用python
(opencv/PIL
等)的圖像。我有4點,我知道他們應該在飛機上形成一個矩形。在飛機上使用4個點不扭曲/去扭曲圖片
在瘸子我可以手動dewarp
圖片使用backwards-correction
,但我想編寫一個程序,這不依賴於gimp
。
我發現的所有功能都依賴於轉換matrix
,所以我想只要給我一些關於如何計算正確的matrix
的指示就足夠了。
電賀&感謝您的幫助
要計算此矩陣,使用方法:
cv2.getPerspectiveTransform(src, dst)
與Src包含你4點列表和DST包含新圖像的角落列表。要小心,他們必須在正確的順序
我不使用Python,但這裏是你在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
也謝謝!實際上幫助我找到了正確的翹曲功能。 – user2459109
謝謝!不知道爲什麼我沒有在文檔中找到那個... – user2459109