接缝裁剪

✍ dations ◷ 2025-12-09 15:00: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后,放大图片。

相关

  • 昆虫学动物学人类学 · 人与动物关系学 蜜蜂学 · 节肢动物学 医学节肢动物学 · 鲸类学 贝类学 · 昆虫学 动物行为学 · 蠕虫学 两栖爬行动物学 · 鱼类学 软体动物学 · 哺乳动
  • 穹窿体结构 / ECOD穹窿体是一种存在于真核细胞中的细胞器,也是一种核糖核蛋白分子。该细胞器的功能尚不明晰。通过电子显微镜可观察到穹窿体呈对称的穹窿状,各侧皆具有39褶结构。穹
  • 盘基网柄菌盘基网柄菌(Dictyostelium discoideum)是一种原生生物,属于黏菌的一种。经常用来作为科学研究所用的模式生物。这种生物带有6个染色体,基因组大小约34Mb,其中约有8000到10000个基
  • 林森南路林森南路,是台湾台北市南北向主要道路之一,原为上海路及沈阳路,位于台北市的中正区。林森南路属双向道路,每向二至三线道,不分段,北接林森北路,南接南海路,并以地下道穿越中正纪念堂
  • 加拿大女王加拿大君主是立宪君主,是西敏制议会民主制度在加拿大的体现,为加拿大国家元首。现任君主是伊丽莎白女王二世,于1952年2月6日即位。加拿大君主除了统治加拿大外,也是另外15个英联
  • 重新开始重新开始可以指:
  • 台湾猕猴台湾猕猴,又称黑肢猴,台湾特有种,珍稀野生动物,属旧世界猴。也是除了智人外台湾唯一的灵长类动物,和日本猕猴、普通猕猴有血缘关系。台湾的原生种,分布于由海平面至海拔三千米以下
  • 伊河伊河,是中国黄河南岸洛水支流之一,发源于河南省洛阳市栾川县陶湾镇,流经嵩县、伊川,穿伊阙而入洛阳,东北向流至偃师与洛水汇合成伊洛河。伊河全长368公里,流域面积6100多平方公里
  • 马库斯·特伦提乌斯·瓦罗马库斯·特伦提乌斯·瓦罗(Marcus Terentius Varro,前116年-前27年)是古罗马学者和作家,先后写有74部著作以渊博学识受到当时和中世纪学者的崇敬。他唯一流传到现在的完整作品是
  • 德国内阁德国内阁(德语:Bundeskabinett或Bundesregierung),为德意志联邦共和国的主要行政机构。