如果我有2組點,我可以使用Procrustes analysis來旋轉一個點,以便相互對齊。Procrustes分析/尋找由兩組2d點表示的兩個圖像之間的角度
但假設這兩組點分別附加到圖像上,我想旋轉圖像。有什麼辦法我也可以旋轉圖像,而不是隻旋轉點?那裏的教程使用點積旋轉(解決u, s, v = svd(p1', p2)
,然後做p2 . v . u'
,p'轉置p)
但是,這並不能告訴我圖像之間的角度是什麼。
The page on wikipedia計算我認爲的每對點之間的角度。
也許我問的是不可能的?如果我旋轉第一組點以將其與第一組對齊,那麼我是否也可以通過一個角度旋轉各自的圖像?點是,哪個角度是?
我注意到,v . u'
給了我一個2 x 2矩陣似乎是旋轉矩陣(有一個維基百科頁面,但我不能鏈接那裏,因爲張貼priviledges)。我得到了第三個和第一個元素的罪和cos,然後使用了arctan2,但是我得到的結果有些奇怪。我知道他們必須從弧度轉變,但我不相信我在做什麼是對的。嘗試旋轉讓我在gimp上使它看起來不是我想要的,但我會再測試一些。
我認爲atan2/arctan2更好,因爲它告訴我與正確象限的角度。 – 2011-02-24 06:11:14
這很好,但我的觀點是你不會考慮第一個和第三個元素的cos或sin,然後使用atan。如果你想得到正確的象限,取Q(2,1)/ Q(1,1)的atan2,其中Q是旋轉矩陣,括號內的數字分別表示行和列。直接取矩陣值即可。 – aardvarkk 2011-02-24 15:35:30
如果他們幫助你,請將答案標記爲有用。 – aardvarkk 2011-02-24 15:39:06