接缝裁剪

✍ dations ◷ 2025-06-28 20:19:41 #图像处理

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

相关

  • IgE免疫球蛋白E(英语:Immunoglobulin E,简称IgE)是一类只发现于哺乳动物内的抗体,是正常人血清中含量最小的免疫球蛋白。免疫球蛋白E由黏膜下淋巴组织中的效应B细胞合成,IgE的单体由
  • 羊膜破裂羊膜囊破裂(Rupture of membranes,简称ROM)是指孕妇的羊膜囊破裂。此时会有少量羊水从阴道流出,因此也称为破水。一般羊膜囊破裂是发生在妊娠期满,可能在分娩开始或是分娩过程中,
  • 国家宪兵国家宪兵(法语:Gendarmerie)是配属在各要塞地区或边界、重要机关负责维持治安的部队,持有步兵等级的重武装,对一般民众有管辖权,亦有侦查重大犯罪的权力。许多国家都有存在国家宪
  • 完整街道完整街道(英语:complete streets,又译完全街道)是一种交通政策和设计方法,它要求对街道进行规划、设计、运营和维护时,确保所有年龄和行为能力的使用者,无论采用哪种交通方式,都能安
  • 乳突状汗腺瘤乳突状汗腺瘤(英语:Papillary hidradenoma),也成乳头状汗腺瘤(英语:hidradenoma papilliferum),是一种界限清晰的乳腺组织异位肿瘤,经常发现于大阴唇。它通常为原发性肿瘤(非癌症性),但
  • 平面波在三维空间里,平面波(plane wave)是一种波动,其波阵面(在任何时刻,波相位相等的每一点所形成的曲面)是相互平行的平面。平面波的传播方向垂直于波前。假若平面波的振幅不是常数,例如
  • 卢台特期卢台特期是始新世的的第二个阶段,起始和终止时间分别为47.8百万年前和41.2百万年前。在通常情况下,该阶经常与巴尔顿期共同构成中始新亚世;另外在某些情况下,该期还可能与伊普雷
  • 谢道昕谢道昕(?-),中国植物分子生物学家,清华大学生命科学学院教授,教育部长江学者特聘教授。2019年当选为中国科学院院士。1983年毕业于湖南农学院,获学士学位。1990年毕业于中国农业科学
  • 戚林八音《戚林八音》(平话字:.mw-parser-output .sans-serif{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Lato,"Helvetica Neue",Helvetica,Arial,sans-serif}
  • 斯科西斯马丁·斯科塞斯(英语:Martin Scorsese,意大利语:;1942年11月17日-)原名马丁·查尔斯·斯科塞斯(英语:Martin Charles Scorsese),美国电影导演、监制、编剧和电影历史学家。在他至今已超