接缝裁剪

✍ dations ◷ 2025-12-08 13:07:20 #图像处理

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

相关

  • 博帕尔事件博帕尔事件(印地语:भोपाल गैस काण्ड)发生于1984年12月3日凌晨,印度中央邦的博帕尔市美国联合碳化物属下的联合碳化物(印度)有限公司(UCIL),设于博帕尔贫民区附近一所农
  • 性虐待性虐待(英语:Sexual abuse)是针对非自愿的人士进行与性有关的虐待。与虐恋不同的是,虐恋是双方都同意的性行为,性虐待的受方则非自愿,即一方在对方未经同意的情况下对其进行性侵犯
  • 哈金斯查尔斯·布兰顿·哈金斯(英语:Charles Brenton Huggins,1901年9月22日-1997年1月12日),出生于加拿大哈利法克斯的美国医学家与生理学家,主要研究前列腺癌。他发展以赫尔蒙控制癌细
  • 氧化铬氧化铬是铬和氧组成的二元化合物。氧化铬可以指:
  • B(NOsub3/sub)sub4/subsup-/sup四硝酸根合硼酸盐是一类无机化合物,化学式为−。它可以和较大的阳离子形成盐类,如四硝酸根合硼酸四甲基铵或四硝酸根合硼酸四乙基铵等。这个离子最初由C. R. Guibert和M. D. M
  • 世宗朝鲜世宗(朝鲜语:조선 세종/朝鮮世宗 Joseon Sejong;1397年5月7日(阴历4月10日)-1450年4月8日(阴历2月17日)),即朝鲜世宗庄宪大王、朝鲜庄宪国王,朝鲜王朝的第4代国王,1418年至1450年在
  • 泰文字泰文(泰语:อักษรไทย、皇家音译:akson thai、IPA: listen)是在泰国用于书写泰语,南泰语和一些其他少数民族语言的字母,有44个辅音字母、21个元音字母、4个声调符号、和一些
  • 本年度我最喜爱的电视角色万千星辉贺台庆本年度我最喜爱的电视角色于2000-2004年的《万千星辉贺台庆》中颁发,表扬该年度最受观众喜爱及欢迎的电视剧中演员,每年均颁发12-13位演员(包括男、女演员)。直至
  • 乌得勒支大学乌得勒支大学(荷兰语:Universiteit Utrecht),荷兰最古老大学之一,也是欧洲规模最大的大学之一。乌得勒支大学坐落在荷兰乌得勒支市,创办于1636年3月26日。2004年入学学生有26,787
  • ATC代码 (J02)A·B·C·D·G·H·QI·J·L·M·N·P·R·S·VATC代码J02(抗真菌药)是解剖学治疗学及化学分类系统的一个药物分组,这是由世界卫生组织药物统计方法整合中心(The WHO Collaborat