接缝裁剪

✍ dations ◷ 2025-11-25 14:56:45 #图像处理

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

相关

  • 抽搐抽搐(英语:Cramp),俗称抽筋,人类身体肌肉系统常见的收缩现象。发作时会使得受伤者感觉疼痛或受到极大压力。常常是因为从静止状态直接转做剧烈运动而导致的。人身体的肌肉是能收
  • 麦角甾醇麦角固醇(英语:Ergosterol,又称为麦角甾醇)是从真菌类酵母与麦角菌中发现的一种植物固醇。在紫外线照射下可被转化为维生素D2。它是酵母和真菌细胞膜的组成部分,功能与动物细胞膜
  • VBCI步兵战车VBCI步兵坦克(法语:Véhicule Blindé de Combat d'Infanterie)为新一代法国轮式步兵战车。VBCI的车体由铝合金制造,外部覆盖特种钢和钛合金模块装甲。底盘为8x8全驱动结构,具有
  • 信息论信息论(英语:information theory)是应用数学、电子学和计算机科学的一个分支,涉及信息的量化、存储和通信等。信息论是由克劳德·香农发展,用来找出信号处理与通信操作的基本限制
  • 阿育王阿输迦·孔雀(梵语:अशोक मौर्य,IAST:Aśoka Maurya,约公元前304年-前232年),常被简称为阿育王(अशोक,Aśoka,音译阿输迦,意译无忧,故又称无忧王)印度孔雀王朝的第三代君主,是频
  • 巡抚福建台湾巡抚,光绪帝1885年敕设台湾为行省,1887年正式建省,巡抚为台湾省的台湾西部最高地方统治者。晚清治台官员有沈葆桢、王凯泰、丁日昌、吴赞诚、裕宽、李明墀、勒方锜、岑
  • 深切治疗重症医学(Intensive care medicine )是医学中的一个分支,诊断及管理会危及生命的疾病或是情形,会需要器官支持(英语:Organ support)及侵入性监测设备。在重症监护室中常见的设备有
  • 雪邦国际赛道雪邦国际赛道(马来语:Litar Antarabangsa Sepang)是位于马来西亚雪兰莪州雪邦的一座动力运动赛车场,十分临近同样位于雪邦的吉隆坡国际机场。雪邦国际赛道承办的主要赛事包括从1
  • 莱茵-鲁尔 北莱茵-威斯特法伦莱茵-鲁尔都会区(德语:Metropolregion Rhein-Ruhr)是德国最大的都市区,拥有超过1100万人口,拥有多个中心都市。莱茵鲁尔区面积7110平方公里,位于北莱茵-威斯特
  • 布罗莫火山布罗莫火山又译作婆罗摩火山,是印度尼西亚的火山,位于爪哇岛东部,行政方面由东爪哇省负责管辖,海拔高度2,329米,火山口的南北向直径为800米、东西向直径为600米,位于东爪哇岛泗水