图像处理(一)图像变形(1)矩形全景图像还原-Siggraph 2014
最近發(fā)現(xiàn),看過(guò)的文章,沒(méi)幾天就忘了,于是開(kāi)始寫(xiě)點(diǎn)東西記錄一下,所學(xué)習(xí)過(guò)的算法。廢話不多說(shuō),今天看了這篇文獻(xiàn)“Rectangling Panoramic Images via Warping”,所以做一下記錄。
這篇文獻(xiàn)算法分為兩步:
1、第一步需要通過(guò)計(jì)算圖像最小能量線,對(duì)圖像進(jìn)行預(yù)變性。
看懂這篇文章首先要看懂Seam Carving,這個(gè)算法作者有源碼,可以下載下來(lái)好好解讀一下算法原理。通過(guò)這一步可以把圖像放大為矩形圖像,這一步又稱之為局部變形。在這一步每一次迭代的過(guò)程中,源圖像上的每個(gè)像素點(diǎn)都會(huì)有可能移動(dòng)位置,假設(shè)input圖像的源像素點(diǎn)I(x,y)經(jīng)過(guò)Seam Carving算法放大后,位置移動(dòng)到I'(x,y),那么我們可以計(jì)算得其運(yùn)動(dòng)場(chǎng)(光流場(chǎng)),u(x,y)=I‘(x,y)-I(x,y)。算法第一步的目的便是要計(jì)算出input圖像變?yōu)閘ocal warping圖像后,每個(gè)像素點(diǎn)的u(x,y)運(yùn)動(dòng)向量。
2、第二步對(duì)local warping圖像矩形進(jìn)行網(wǎng)格劃分
記錄劃分后,每個(gè)格子頂點(diǎn)的坐標(biāo)v(x,y),ok,通過(guò)第一步我們知道了每個(gè)像素點(diǎn)經(jīng)過(guò)u(x,y)運(yùn)動(dòng)場(chǎng),變形后才有了local warping 圖像,接著我們把圖像local warping通過(guò)
-u(x,y)運(yùn)動(dòng)場(chǎng),變形回去,同時(shí)記錄下v(x,y)每個(gè)頂點(diǎn)的新位置v’(x,y),其實(shí)這一步不需要對(duì)圖像的數(shù)據(jù)進(jìn)行變形,只需要定劃分的網(wǎng)格根據(jù)-u(x,y)進(jìn)行直接變形,記錄下每個(gè)網(wǎng)格頂點(diǎn)的新位置。
3、接著我們以這些網(wǎng)格頂點(diǎn)新位置v’(x,y)為控制頂點(diǎn),利用相似變換的變形方法,對(duì)最開(kāi)始的input 圖像進(jìn)行全局變形。變形的控制頂點(diǎn)為v’(x,y),變形后的位置為v(x,y),據(jù)此可以得到全局的圖像變形結(jié)果
學(xué)習(xí)這篇文獻(xiàn),需要先好好學(xué)習(xí):“Seam Carving for Content-Aware Image Resizing”和“As-rigid-as-possible_shape_manipulation”這兩篇文獻(xiàn)網(wǎng)上可以下載到作者寫(xiě)的源代碼,所以比較容易學(xué)會(huì),搞定這兩篇paper,這篇文獻(xiàn)就簡(jiǎn)單多了。Seam Carving for Content-Aware Image Resizing的算法可以參考我的另一篇文章:http://blog.csdn.net/hjimce/article/details/44916869
本文地址:http://blog.csdn.net/hjimce/article/details/44904271?? ?作者:hjimce ? ? 聯(lián)系qq:1393852684
更多資源請(qǐng)關(guān)注我的博客:http://blog.csdn.net/hjimce?? ? ? ? ? ? ? ? ?原創(chuàng)文章,版權(quán)所有,轉(zhuǎn)載請(qǐng)注明出處?
總結(jié)
以上是生活随笔為你收集整理的图像处理(一)图像变形(1)矩形全景图像还原-Siggraph 2014的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习(二十七)可视化理解卷积神经网络
- 下一篇: 图像处理(二)Seam Carving算