我最近注意到了我的旋轉算法輸出中的異常僞像。我使用的實現將目標矩陣中點的高密度投影到源圖像上,以計算源像素貢獻的相對比率。這些值被緩存以允許通過展開的循環進行非常快的旋轉。靠近原點的實數舍入導致旋轉僞像
的問題是由舍入行爲引起的,這是最好的,從一維採樣策略的上下文中示出:
如果中心爲0.0和是由0.9在任一方向平移時,它仍然是0時圓形
short(+0.9) == 0
short(-0.9) == 0
然而
如果中心爲1.0和是由0.9在任一方向平移,然後
short(+0.1) == 0
short(+1.9) == 1
落在withi任何點與原點相距1單位的距離歸因於圓角時的原點 。這導致在源圖像中靠近軸的原點的點的過採樣。解決方案是在執行舍入操作時將浮點座標深度轉換爲 正空間,然後將其翻譯回 之後的原點。
我的問題:有沒有辦法避免這個舍入錯誤而沒有轉化爲正空間?
你應該繞到最近而不是截斷? –
我不明白。 'short'是一個整數。 '0.9'是'0'。 '1.9'是'1'。沒有小數。 – David
你更喜歡第一個或後一個效果? –