接缝裁剪

✍ dations ◷ 2025-12-10 03:26:52 #图像处理

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

相关

  • 血糖血糖(英语:Blood sugar)是指血液中的葡萄糖。消化后的葡萄糖由小肠进入血液,并被运输到机体中的各个细胞,是细胞的主要能量来源。国际标准单位是毫摩尔/升(mmol/l)。美国采用毫克/
  • 光化学光化学(英语:photochemistry),是化学的一个分支,是一门研究物质因受光的影响而产生化学效应的学科。这里的光通常指紫外光或可见光。光化学与其他化学的本质区别在于光化学涉及激
  • 逆偶例谬误逆偶例谬误(converse accident)或逆偶然谬误、逆意外谬误是一种“例外凌驾通则”的非形式谬误,是基于某个例外的存在,而否定一般性的通则。解说:救护车是例外,不代表应该设下速限
  • HTTPS超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTP
  • 黄南黄南藏族自治州(藏语:.mw-parser-output .uchen{font-family:"Qomolangma-Dunhuang","Qomolangma-Uchen Sarchen","Qomolangma-Uchen Sarchung","Qomolangma-Uchen Suring","Q
  • 福建巡抚福建巡抚,明清时代地方军政官员。
  • 伽色尼加兹尼王朝(963年-1187年),讹称伽色尼王朝,由突厥裔萨曼王朝原奴隶将军阿尔普特勤之女婿苏布克特勤(“可爱的王子”)创建(他是葛逻禄部奴隶),因都城加兹尼而得名。马默德苏丹(又译马哈
  • 告成观星台登封观星台(英语:Dengfeng Observatory),也称为告成天文台(英语:Gaocheng Astronomical Observatory),最早是周公建造的观星台,位于中国河南省登封,邻近告成县,是世界遗产之一。这个观
  • 活性代谢产物活性代谢产物(active metabolite)是药物经代谢后产出,具有生理活性的分子。药物分子经身体代谢,被修改后仍继续对身体造成影响者,即为活性代谢产物。 通常这些影响与原分子相似
  • 1 − 2 + 4 − 8 + …在数学中,1 − 2 + 4 − 8 + …是一个无穷级数,它的每一项都是2的幂而加减号则是交错地排列。作为几何级数, 它以 1 为首项,-2为公比。作为实数级数,它发散到无穷,所以在一般意义