您的问题相当于typo。您混淆了坐标的命名。单应性假设(x,y,1)
顺序,这将对应于(j,i,1)
.
只需使用(x, y, 1)
在计算中,并且(xw, yw, w)
其结果是(然后x,y = xw/w, yw/w
). the w
当正确表述时,因子反映了数学。
避免索引到.shape
。指数不会“说话”。做就是了(height, width) = src.shape[:2]
并使用那些。
我建议修复命名方案,或在评论中将其定义在顶部。我建议坚持x,y
而不是 i、j、u、v,然后用前缀/后缀扩展它们所在的空间(“src/dst/in/out”)。也许像ox,oy
为了迭代,只需xw,yw,w
单应性结果,变成x,y
通过除法,以及ix,iy
(整数化) 中的采样input?然后你可以使用dst[oy, ox] = src[iy, ix]