mattdm的陳述“ 如果您完全相反地進行相同的操作,模糊在很大程度上是可逆的”,這使我想到了一個問題。旋轉是圖像的幾何變換,包括坐標的空間變換和強度插值。如果旋轉不是90度的倍數,則插值算法起著至關重要的作用。
在這種情況下,如果我們使用平均插值算法(例如,雙三次),則操作是有損耗的 * sup>。但是我們可以改用其他方法(例如最近的Nightbor插值),使旋轉後的圖像“不旋轉”嗎?
(*)這只是我的感覺(我仍然無法支持它) (帶有數學證明):由於我們無法確定哪個像素貢獻了平均值,因此無法反轉平均值。但是我不確定我們不能使用概率方法來準確估計原始值。 sub>
雖然我缺乏必要的數學技能,但我自己還是做了一些測試(使用gimp ),但在防旋轉之後,圖像有所不同:
測試1
圖1 b>-源圖像(256x256)
圖2 b>-從左到右:a)圖像順時針旋轉9.5度; b)圖像再次逆時針旋轉9.5度; c)圖像之間的差異。對於這些操作,我使用了最近的neightbor 插值法。操作後將圖像縮小以更好地適合此網站佈局。
圖3 b>-從左到右:a)圖像順時針旋轉9.5度; b)圖像再次逆時針旋轉9.5度; c)圖像之間的差異。對於這些操作,我使用了 bicubic 插值法。操作後將圖像縮小以更好地適合此網站佈局。
測試2
按照@unapiedra的建議,我做了一個更簡單的測試:旋轉2x2矩陣。這種情況沒有意義,因為取決於角度,所有單元都旋轉相同的角度,或者沒有單元旋轉。也就是說,旋轉始終是無損的。
所以我再次嘗試了3x3矩陣和30度旋轉:
圖4 b>-從左到右:a)源圖像; b)圖像順時針旋轉30度; c)圖像逆時針旋轉30度; d)差異。圖像被放大以適合該網站。
在這種情況下,差異是顯而易見的。旋轉顯然是有損耗的...但是如果我在旋轉之前進行了放大,會發生什麼?
測試3
圖5 -從左至右:a)源圖像; b)將圖像放大6倍; c)順時針旋轉30度的放大圖像; d)圖像逆時針旋轉30度; e)縮小的變換圖像; f)差異(無差異)。圖像被放大以適合該網站。
在這種情況下,我將圖像放大6倍。選擇此因素的原因(很不幸,如我在反例中看到的那樣):
旋轉30度的像素的坐標從左下到右上:[0,0]-[0.3660 ,1.3660]。即,最短的投影面具有0.36像素的長度。 採樣定理要求我們以兩倍的採樣率進行採樣。
因此,要精確採樣30度旋轉的圖像,我必須對每個0.17像素採樣,得出x5.88調整大小因子; 3 x 5.88 = 17,64,因此我將源圖像重新採樣為18x18圖像。