我有一個numpy數組,用於從FITS文件讀入的圖像。我使用scipy.ndimage.interpolation.rotate
將它旋轉了N度。然後我想知道原始非旋轉幀中的某個點(x,y)在旋轉後的圖像中的位置 - 即什麼是旋轉的幀座標(x',y')?scipy.ndimage.interpolation.rotate後旋轉的圖像座標?
這應該是一個非常簡單的旋轉矩陣問題,但是如果我按照通常的基於數學或程序設計的旋轉方程,新的(x',y')不會到達原來的位置。我懷疑這與需要轉換矩陣有關,因爲scipy rotate函數基於原點(0,0)而不是圖像陣列的實際中心。
有人可以告訴我如何獲得旋轉幀(x',y')?作爲一個例子,您可以使用
from scipy import misc
from scipy.ndimage import rotate
data_orig = misc.face()
data_rot = rotate(data_orig,66) # data array
x0,y0 = 580,300 # left eye; (xrot,yrot) should point there
P.S.下面的兩個相關問題的答案不幫我:
你能提供一個例子(或示例),使我們可以檢驗我們的解決方案的正確性? – unutbu
我剛剛添加了一個使用scipy自己的misc浣熊臉和左眼原始(x,y)點的例子。旋轉框架中66度的新(xrot,yrot)應指向左眼。 – quantumflash