接缝裁剪

✍ dations ◷ 2025-12-03 19:30:40 #图像处理

接缝裁剪(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后,放大图片。

相关

  • 半金属半金属,可以指:
  • 法国国家男子篮球队法国篮球国家队,是代表法国参加国际篮球赛事的篮球国家队。法国国家篮球队为欧洲一流球队。法国是欧洲篮球锦标赛的常客,以是冠军。法国还在1948年和2000年的奥运会上取得了亚
  • 俄罗斯沙皇沙皇(俄语:царь)是部分斯拉夫君主采用的头衔,此字源于罗马时期的拉丁语称号“凯撒”,在中世纪时被视为与“皇帝”一词拥有类同的地位,即与罗马皇帝一样,受他国皇帝或宗教领袖(如
  • 自由软件运动自由软件运动(英语:free software movement或free/open source software movement,简称FSM或FOSSM)是一个推广用户有使用、复制、研究、修改和分发软件等权利的社会运动。接近和
  • 二巯基丁二酸2,3-二巯基丁二酸(Dimercaptosuccinic acid、英文缩写为:DMSA),别名2,3-二巯基琥珀酸,一般简称二巯基丁二酸,是一种有机硫化合物,常温下为白色结晶状粉末。因分子内含有两个巯基,所
  • 天聪新政天聪新政,又称皇太极新政,是后金第二任统治者天聪汗皇太极继承其父努尔哈赤汗位后采取的一系列不同于前任统治者的改革举措,为日后清朝的入主中原奠定了基础。在努尔哈赤统治时
  • 依特米龙依特米龙属(学名:Itemirus)是兽脚亚目恐龙的一属,生存于上白垩纪的土仑阶。目前只有一个小型、遭到损坏的头壳化石(编号PIN 327/699),是在1958年发现于乌兹别克斯坦的Dzharakuduk,属
  • 红色恐慌红色恐慌(英语:Red Scare)是指于美国兴起的反共产主义风潮,分为两段。第一段自1917年俄国十月革命爆发后延续至1920年,恐慌受到欧洲的影响,美国工人以及社会主义者可能爆发政治激
  • 航空兵美国陆军航空兵(United States Army Aviation Branch)是美国陆军兵种,负责美国陆军航空部队的作战定义,以及各单位的人员与装配配属。在原美国陆军航空队(1926-1942)分离出美国陆
  • 括苍山括苍山,中国浙江省中部的一条山脉,为灵江和瓯江的分水岭。括苍山山区面积约7000平方公里,和雁荡山同为福建洞宫山脉向东北伸展而成。括苍山脉形成于中生代晚期,总体上表现为一个