2012-11-19 85 views
1

我想要使用雙線性插值來轉換圖像,我的輸入圖像是I,我有我的仿射矩陣[A],這將根據雙線性插值給我轉換的圖像I'我是取反仿射矩陣inv([A])並將其應用於輸出圖像的每個點(初始級別均爲零),因爲我們無法保證輸出圖像的大小可以是任何大小,所以首先我找到了邊界,以便我可以得到輸出圖像的尺寸,轉換圖像應該始終可見

現在我有輸入圖像,仿射矩陣,並輸出圖像具有ATLEAST該大小,其中變換後的圖像可容易地保存,但如果我應用向後翹曲的方法,根據該方法我必須迭代輸出圖像的每個像素(現在爲零),我希望我的變換圖像位於中心,因此我的變換圖像應始終可見,任何想法我怎樣才能做到這一點 ?

注意我不想使用matlab的內置函數。

編輯 enter image description here

如果我改變了我的A圖片我得到了B,但你看到的圖像角得到裁剪,我想那些被示爲好。

+0

這不完全清楚你想從描述中得到什麼,但是也許你可以證明你到底有多遠來到哪裏你被困住了? –

+0

我希望我的變形圖像完全可見。如果我創建了與輸入圖像大小相同的新圖像,則我的轉換後的圖像看起來像是被裁剪了。 –

+0

你可以添加一個截圖,或更好的一些短代碼,將使問題得到轉載?您可能想從'im = image'開始加載示例圖像。 –

回答

2

將矩形從直立位置旋轉到對角線位置時,最高點和最低點之間的垂直距離將增加。

現在有兩種方法可以採取:

  • 將新畫面在一個更大的環境

OR

  • 重新調節旋轉圖片以使其適合在原始大小的環境。
+0

這是真的。我做了類似的事情,我的選擇是估計旋轉圖像的大小,然後將其放入更大的佈局。另一種選擇是創建一個非常大的佈局,然後刪除你不喜歡的橫向黑色條。如果重新調整它,請考慮質量會降低。 –