接缝裁剪

✍ dations ◷ 2025-10-08 14:16:04 #图像处理

接缝裁剪(Seam carving),是一个可以针对图像内容做正确缩放的算法(由Shai Avidan和Ariel Shamir所发表)。概念上,算法会找出一系列的接缝(seam)(接缝是在图像中最不重要的一连串像素),接着利用接缝对图像做缩放。如果是要缩小图像,则移除这些接缝,若是放大,则在这些接缝的位置上,插入一些像素。接缝裁剪可以人工定义一些不会被修改的像素区域,也可以从图像中移除整个物体。

接缝裁剪算法的主要目的是图像重定向(image retargeting),将图像无失真的显示在各种大小的萤幕或位置上,比如说,手机、投影幕等等。

接缝有两种形式,水平或垂直的。接缝本身是一条由像素构成的路径,水平的接缝连接图像的左侧和右侧,路径中的像素个数和图像的列数一致。垂直接缝则类似,连接图像的顶部和底部,像素个数和图像的行数一致。接缝上每个像素都有存在一个称为重要性或者能量的指标,这个指标的值是根据像素的邻接像素计算得到的。一个像素和周边像素的相似度越高,则其重要性或者说能量就越低。

1. 首先,我们拿到一张需要缩小的照片(这里以缩小举例)

2. 接着我们计算照片中每一个像素的强度(energy),这一步可以由很多算法完成,这里以gradient magnitude为例。

3. 有了每一个pixel的强度后,我们可以利用一些算法,像是dynamic programming等等,找到图中数条强度较低的seams。

Seams 在gradient magnitude图中的样子:

Seams 在原始图片中的样子:

(从seams在原始图中的样子,我们可以看到所谓强度低的seam,基本上就可以表达照片中相对不重要的部分)

4. 接着我们把这些seams拿掉,就可以拿到一张缩小后的照片。

5. 若是我们需要放大图片,则我们可以在这些我们找到的seam的旁边,增加pixel,而pixel的value可以简单的取附近的pixel的平均。

在这个算法中,我们每次要找出一条照片中能量最小的seam,这里的能量可以想成是频率低,或者是照片中较为不重要的pixel。而找出seam的方法有很多种,我们可以利用dynamic programming或者其他算法完成。

以下为matlab的ref code,示范的是找出水平的seam后,放大图片。

相关

  • 吸血蝠吸血蝠亚科(英文:Vampire bat)是属于脊索动物门哺乳纲翼手目叶口蝠科的亚科,含有吸血蝠、毛腿吸血蝠和白翼吸血蝠三个种,都原产于美洲。亚科名“Desmodontinae”出自古希腊文词“
  • 汉斯·艾森克汉斯·艾森克(Hans Jürgen Eysenck,1916年3月4日-1997年9月4日)出生于德国柏林,殁于英国伦敦。是一位心理学家,虽然研究范围颇广,不过最广为人知的是智力和人格的研究。当艾森克去
  • 刮痧刮痧是用一定的工具,如边缘光滑的汤匙、铜钱、硬币或较专业的牛角骨等制成的刮痧板,配上一些按摩油或是保湿霜等润滑剂之类,在病人身体的施治部位上顺序重复刮动的治疗方法,是中
  • 位温位温是指流体从气压为 P {\displaystyle P} 、温度为 T {\displaystyle T} (单位
  • 山之国,河之国《山的土地,河的土地》(德语:Land der Berge, Land am Strome),是奥地利的国歌。国歌的曲调是沃尔夫冈·莫扎特去世前十九日,即1791年12月5日所作的《共济会清唱剧》 (作品编号KV 6
  • FS作战东南亚地区:缅甸:西南太平洋地区:北美地区:日本:满洲地区:FS作战为大日本帝国在第二次世界大战的太平洋战争中曾计划进攻并侵占斐济、萨摩亚和新喀里多尼亚的作战的代号。该作战原
  • 3个州、1个区和1个首都直辖市塔吉克斯坦行政区划(塔吉克语:Вилоятҳои Тоҷикистон)包括三个州、一个区和一个首都直辖市(括号内为首府):1.索格特州(苦盏)2.国家直辖区(3.杜尚别)4.哈特隆州(库尔
  • 峰福铁路.mw-parser-output .RMbox{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.mw-parser-output .RMinline{float:none
  • ATC代码 (N05)A·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码N05(Psycholeptics)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Colla
  • 代工生产代工生产(英语:Original Equipment Manufacturer,OEM)简称:委托制造 ,又译原始设备制造商,指由采购方提供设备和技术,由制造方负责生产、提供人力和场地,采购方负责销售的一种现代流