接缝裁剪

✍ dations ◷ 2025-08-13 02:25:29 #图像处理

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

相关

  • 显著性差异显著性差异(ρ),是统计学上对数据差异性的评价。当数据之间具有了显著性差异,就说明参与比对的数据应该不是来自于同一总体(population),而是来自于具有差异的两个不同总体,换句话
  • 布尔可满足性问题可满足性(英语:Satisfiability)是用来解决给定的真值方程式,是否存在一组变量赋值,使问题为可满足。布尔可满足性问题(Boolean satisfiability problem;SAT))属于决定性问题,也是第一
  • 威卡教威卡教(英语:Wicca)是一种在英国和美国盛行的、新兴的、多神论的、以巫术为基础的宗教。威卡教的信徒自称自己的宗教为“老宗教”(这个称呼可以追溯到弗里德里希·施莱格尔)或者
  • 布里德-蒂顿国家森林公园布里杰蒂顿国家森林(英语:Bridger-Teton National Forest)是美国的一处国家森林,1908年7月1日建立,位处怀俄明州西部,占地面积约3,402,684英亩(13,770.17平方千米),最近的城市为杰克
  • 同安同安县,雅称银同。旧县名。辖域包括现在的中华人民共和国政府统治的厦门市与龙海市东北部及中华民国政府统治的金门县。有许多名人籍贯或祖籍为同安县,如郑成功参军陈永华、江
  • 地方性公民投票中华民国地方性公民投票是依照《公民投票法》,在中华民国各直辖市、县、市为范围实施的公民投票。投票以普通、平等、直接、无记名等方式进行。截至2020年03月为止,经由中华民
  • 李清杰李清杰(1962年12月-)山东成武人,中国人民解放军少将。李清杰曾任中国人民解放军总后勤部卫生部医疗管理局副局长、局长。2012年至2015年,任中国人民解放军总后勤部卫生部副部长。
  • 芦 苇芦苇(学名:Phragmites communis),又称普通芦苇(common reed),是生长于沼泽、河沿、海滩等湿地的一种禾本科植物,遍布于全世界温带和热带地区,芦苇属的植物大约有10种,有的分类学家认为
  • 透明层透明层(英语:stratum lucidum),位于颗粒层上方,由数层无核扁平细胞组成。透明层细胞排列紧密,细胞间没有明晰的界线,只有在手掌和脚底等表皮较厚的部位才能看见。医学导航: 皮肤附
  • 杰曼·德·斯戴尔杰曼·德·斯戴尔(Germaine de Staël,1766年4月22日-1817年7月14日),全名安娜·路易斯·杰曼·德·斯戴尔-奥斯丹(Anne Louise Germaine de Staël-Holstein ),以德·斯戴尔夫人而