主题:【原创】‘缝刻’ -- 卷心菜
很多人都有用电脑处理图片的经历。当我们要改变一张图片的大小时,通常有两种选择,一种是Scaling,将图片内容按指定的长宽比例压缩/放大,另一种是Cropping,裁切图片中的一部份,保持图中物件大小不变。下面我作个简单示范:
原图
Scaling
Cropping
好吧,上面的太简单了。让我们再来看看这幅图:
看出点什么了吗?这是PS作品?变形工具与人工剪贴的结果?另一张不同角度的照片?
都不是。
答案在这里:
2007年10月,芝加哥AdobeMAX会场
[FLASH]http://www.youtube.com/v/eGR-x9LX9XA&rel=0[/FLASH]
上面这段视频中演示的算法叫做Seam Carving,直译成中文就是‘缝刻’,由Shai Avidan与Ariel Shamir共同发表。它的原理在于找出图片中由单个‘背景像素’连接而成的一条条裂缝并加以填充或删除,以此达成改变图片大小的效果。这种效果有时被称为Retargeting,既能保持图中物件的比例与完整性,又可容许使用者自由改变图片大小与长宽比。
下面这个视频的解释更生动一些:
[FLASH]http://www.youtube.com/v/vIFCV2spKtg&rel=0[/FLASH]
Seam Carving的核心算法虽然只有二十行,却在一定程度上实现了对主体与背景的的分辨,因此它同样擅于不留痕地移除图片中的主体物件。在实践中,图片背景越是干净,越是由无固定形态的物体组成(如白云、土地、水面),缝刻的运算效果就越好;若是在复杂、对比度高而且规则的背景下(如都市),处理过的照片就容易被看出破绽来。
上面视频演示中使用的程序并没有公开,但算法是在他们论文里公开的,现在已有一些现成工具可用了。GIMP里有个叫做Liquid Rescale的插件是其一。不用GIMP的话,还有一些独立的程序可选,Liquid Resize是其中功能比较完善的一个,有Windows和Linux版本:
http://www.thegedanken.com/retarget/default.asp?lnk=3
试试看吧,在一些特定情况下真的很好用。
- 相关回复 上下关系8
🙂【原创】‘缝刻’
🙂如果背景是花纹,主题一块木头,就把主题去掉了? ciciviv 字0 2008-01-20 12:57:17
🙂所以这时候需要人工保护主体。 ciciviv 字0 2008-01-20 12:58:48
🙂seam是不是一定要连续的? ciciviv 字62 2008-01-20 12:55:38
🙂看明白了,的确是好东西 梁东 字0 2008-01-18 08:59:00
🙂似乎主要是把前景和背景分开后分别缩放。 九霄环珮 字70 2008-01-17 09:17:48
🙂这个技术的创新之处在于提取背景而非前景 卷心菜 字363 2008-01-17 20:20:51
🙂能不能再处理一些特定直观的图片呢 AllenKid 字174 2008-01-18 05:56:26