4
我想從一個梯形(在第一個圖像)到一個矩形(在第二個圖像),但得到一個奇怪的結果(在第三個圖像)。OpenCV透視變換給予意想不到的效果
我的計劃是使用透視變換,通過梯形的四個拐角點和矩形的四個角點限定。
在這個例子中,對於梯形它們是:
ptsTrap = [[ 50. 100. ]
[ 50. 200. ]
[ 250. 64.73460388]
[ 250. 235.26539612]]
和用於矩形:
ptsRect = [[ 50. 100.]
[ 50. 200.]
[ 250. 100.]
[ 250. 200.]]
我得到一個透視從這些點變換:
T = cv2.getPerspectiveTransform(ptsTrap, ptsRect)
然後從那裏建立圖像:
arrTrapToRect = cv2.warpPerspective(arrTrap, T, arrTrap.shape[:2])
但是,正如您從圖像中看到的,這並沒有給出預期的轉換。
我似乎無法弄清楚爲什麼即使定義轉換的點也沒有按照它進行投影。有任何想法嗎?
謝謝那確實是問題所在。我自己在製作圖片,而我犯了愚蠢的錯誤,把x,y當作我,j而不是j,i。現在看起來不錯! – sapi