接缝裁剪

✍ dations ◷ 2025-06-08 02:50:34 #图像处理

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

相关

  • 环杓肌环杓肌(cricoarytenoid muscles)是连接环状软骨及杓状软骨之间的肌肉。而其中之环杓后肌、环杓侧肌(外环杓肌),与杓间肌均属于喉内肌群。后环杓肌及侧环杓肌(外环杓肌)更具体地
  • 4f14 6s22, 8, 18, 32, 8, 2蒸气压3, 2, 1 (第一:603.4 kJ·mol−1 第二:1174.8 kJ·mol−1 第三:2417 kJ·mol主条目:镱的同位素镱是一种化学元素,符号为Yb,原子序为70。它属
  • 瑞利散射瑞利散射(Rayleigh scattering),由英国物理学家约翰·斯特拉特,第三代瑞利男爵(John Strutt, 3rd Baron Rayleigh)的名字命名。它是半径比光或其他电磁辐射的波长小很多的微小颗粒
  • 莫斯科运河莫斯科运河(俄语:Канал имени Москвы,至1947年称莫斯科-伏尔加运河Канал Москва-Волга)是连接莫斯科河与俄罗斯欧洲部分的交通大动脉伏尔加河
  • 麦田圈麦田圈(英语:Crop circle)是在麦田或其他农田上,透过某种力量把农作物压平而产生出的几何图形,主要出现于欧洲与北美洲,英国巨石阵,英国图形山丘(English hill figures),West Kennet L
  • 线黑粉菌目线黑粉菌科 Filobasidiaceae线黑粉菌目是银耳纲下属的一种属于真菌的目。下属一科线黑粉菌科,其中包含5种真菌 。和其它银耳状物种的区别是,他们的菌体很小,肉眼不可见。
  • 光明皇后光明皇后(大宝元年-天平宝字四年六月初七,即701年-760年7月27日),姓藤原氏,为日本奈良时代的皇族,圣武天皇的皇后,又名安宿媛(あすかべひめ)、光明子(こうみょうし)、藤三娘(とうさんじょ
  • 士林公有市场坐标:25°5′6.8″N 121°31′29.0″E / 25.085222°N 121.524722°E / 25.085222; 121.524722营业时间1F:早市06:00-14:00;夜市14:00-02:00B1:周一至四15:00-02:00、周末12:00-
  • 4-氨基喹啉4-氨基喹啉是喹啉环上4号位被氨基取代的有机化合物。4-氨基喹啉可以4-羟基喹啉为原料,经三氯氧磷将羟基转化为氯原子,再氨解得到。
  • 约翰·赫维留斯约翰·赫维留斯(拉丁语:Johannes Hevelius,德语:Johann Hewelke或Johannes Hewel,波兰语:Jan Heweliusz,1611年1月28日-1687年1月28日)是波兰天文学家,并曾任但泽(即格但斯克)市长。赫维