接缝裁剪

✍ dations ◷ 2025-09-17 01:01:07 #图像处理

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

相关

  • 罗密·施奈德罗密·施奈德(德语:Romy Schneider,1938年9月23日-1982年5月29日)是一位奥地利的演员,15岁时即开始演艺生涯。1955年至1957年,因出演《茜茜公主》三部曲女主角茜茜公主而出名。罗密
  • 萨哈林州萨哈林州(俄语:Сахали́нская о́бласть,罗马化:Sakhalinskaya oblast)是俄罗斯联邦主体之一,隶属于俄罗斯远东地区,包括萨哈林岛(库页岛)和第二次世界大战胜利后
  • 无线局域网无线局域网(英语:Wireless LAN,缩写WLAN)是不使用任何导线或传输电缆连接的局域网,而使用无线电波或电场与磁场作为数据传送的介质,传送距离一般只有几十米。无线局域网的主干网路
  • 成仙传统宗教仪式:神明秘密社会:神仙,是神与仙的统称,是指道教中拥有各种法力的得道人物。神仙都是长生不老,可以随意变化形态,法力高强,存在于凡人无法抵达的异世界之中。道教各门派对
  • 成员书院br /small又译“学院”/small剑桥大学学院列表列举了剑桥大学目前所有的成员学院(Colleges,又译“书院”)。这些成员学院是剑桥大学本科生和研究生住宿的地方,他们同时也负责安排自己的本科生录取,亦会为大学
  • 2010戈登·布朗 工党大卫·卡梅伦 保守党2010年英国大选(United Kingdom general election, 2010)于2010年5月6日举行,全英国各选区为新一届下议院选出全院议员。首相戈登·布朗于4
  • 警察泰国皇家警察(泰语:สำนักงานตำรวจแห่งชาติ),是泰国的警察部门、直属泰国总理,于1933年设立。2014年10月1日起的警察总长为宋永·彭潘孟(英语:Somyot Poompanm
  • 上街区上街区位于中原腹地,始建于1958年,距省会郑州市区38公里,北临黄河,南依嵩山,总面积64.7平方公里,总人口13万人,辖1个镇,5个街道办事处。下辖5个街道,1个镇:本地工业较为发达,内有国家生
  • 法国最高行政法院)分裂为三个部分,其中一个是委员会法庭(),后来的国王委员会(),它也分裂为三个不同的部分:枢密委员会()、秘密委员会()和财政委员会()。它在路易十六时期被改组为两个主要的组,枢密国务、财政
  • 查尔斯顿 (波士顿)查尔斯顿(Charlestown)是美国马萨诸塞州城市波士顿历史最古老的街区之一,最初的名称是Mishawum。查尔斯顿位于波士顿半岛的北部,街区设计于1629年。1848年,查尔斯顿正式成为城市,