接缝裁剪

✍ dations ◷ 2025-11-24 17:57:19 #图像处理

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

相关

  • 二氧化铅二氧化铅或过氧化铅,化学式PbO2,常温时为棕色结晶或粉末,几乎不溶于水,有强氧化性。二氧化铅可由四氧化三铅与硝酸作用而得。反应式:二氧化铅受热分解:由于6s2惰性电子对效应,二氧
  • 继续与德国交战盟军决定性胜利(1944年-1945年)中欧会战(Central Europe Campaign),在当时的纳粹德国又称为帝国保卫战,是第二次世界大战盟军为在中欧地区击退德军所发动一连串军事行动,时间是自194
  • CD88n/an/an/an/an/an/an/an/an/an/aC5a受体(英语:C5a receptor或称补体成分5a受体1,complement component 5a receptor 1,C5AR1或CD88,Cluster of Differentiation 88)是一种与补体C5
  • 新光摩天大楼登高大赛新光摩天大楼登高大赛(英语:Shin Kong Life Tower Run Up),是台湾第一个大楼登高比赛,也是台湾历史最悠久、最让人印象深刻的登高赛。第一次举办,是在新光人寿保险摩天大楼落成日(1
  • Kelvin wave开尔文波(Kelvin Wave)是发生在大气或海洋中的,迎向地形边界(例如海岸线)平衡科氏力的波动现象。开尔文波的一个特征是非弥散性,也就是说,波峰的相速度与波能的群速度在所有频率时
  • 东在汉语中有多个意义:
  • 孔门十哲四配颜回 · 孟子 · 曾参 · 孔伋日本藤原惺窝 · 林罗山 · 室鸠巢新井白石 · 雨森芳洲朝鲜薛聪 · 权近 · 吉再 · 安珦 · 李穑李滉 · 王仁 · 李齐贤 
  • 祖承训祖承训(?-?),明朝军事人物。祖承训一族世代为辽东望族,自称祖逖之后。1592年,壬辰倭乱爆发,祖承训以辽阳副总兵的身份,率军3000名骑兵进入朝鲜支援,这是明朝向朝鲜派出的第一支援军。在
  • 费隆 (拜占庭)拜占庭的费隆(Philo of Byzantium,前280年-前220年)是亚历山大城的一位科普作家。著有九卷本《机械原理手册》(Mechanike syntaxis),现存部分包括第四卷,是关于战争中投射器具;第五卷
  • 长寿王长寿王(394年-491年),名高巨连或高琏,高句丽第二十代国王(413年至491年在位)。长寿王在位时期是高句丽的全盛时期。427年,他将高句丽的都城迁至平壤,这标志着高句丽将其扩张的方向从