接缝裁剪

✍ dations ◷ 2025-05-18 01:08:44 #图像处理

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

相关

  • URI统一资源标识符(英语:Uniform Resource Identifier,缩写:URI)在电脑术语中是一个用于标识某一互联网资源名称的字符串。该种标识允许用户对网络中(一般指万维网)的资源通过特定的协
  • 阿普林县阿普林县(英语:Appling County)是美国佐治亞州的一个县。2000年,人口有17,419人。根据2005年人口普查,人口估计有17,954人。 县政府所在地位于巴克斯利。阿普林县是以1812年战争
  • 佛罗伦萨手抄本《新西班牙事物通史》(西班牙语:Historia general de las Cosas de Nueva España)是16世纪西班牙方济各会修士贝尔纳迪诺·德萨阿贡(Bernardino de Sahagún)所作的民族志文献,使
  • 二人转二人转,亦称东北二人转,旧时称为地蹦子、蹦蹦戏、秧歌、小落子、小秧歌、双玩艺、过口、风柳、春歌、半班戏、双条边曲等,1952年定名为二人转。是中国东北地区的走唱类曲艺、地
  • 形式化方法形式化方法,中文也称形式方法、正规方法。在计算机科学和软件工程领域,形式化方法是基于数学的特种技术,适合于软件和硬件系统的描述、开发和验证。将形式化方法用于软件和硬件
  • 1006年
  • 台糖顺风牌内燃机车台糖顺风牌内燃机车,是台湾糖业公司现存柴液式内燃机车中年代最早的。现已全数停用。台湾糖业公司于1946年成立以后,除了修复遭到美军轰炸受损的制糖设备外,同时购入新的糖业铁
  • 豸部豸部,为汉字索引中的部首之一,康熙字典214个部首中的第一百五十三个(七划的则为第七个)。就繁体和简体中文中,豸部归于七划部首。豸部只以左方为部字。且无其他部首可用者将部首
  • 韦氏词典韦伯斯特字典(英语:),为在美国被誉为“美国学术和教育之父”的辞典编纂者、拼写改革倡导者诺亚·韦伯斯特(英语:Noah Webster,1758年10月16日-1843年5月28日)编写的一系列字典。在美
  • 威拉米特国家森林威拉米特国家森林(英语:Willamette National Forest)是一座美国国家森林,位于喀斯喀特山脉中部、俄勒冈州境内。森林面积1,678,031英亩(6,790.75平方千米),是美国最大的国家森林之