智能剪刀——交互式图像分割

Demo Video:注:图片来自[2]作者:@Mapupcal前言:智能剪刀算法(Intelligent Scissors)是由Eric N. Mortensen和William A. Barrett于1995年提出来的一种图像分割的交互算法,可以用于2D图像分割,论文见[1][2]。该算法可以用于辅助用户精确地勾勒出感兴趣的区域。其可以在运行时快速地定位到该图像区域的边缘上,通过与用户交互,更...
摘要由CSDN通过智能技术生成

Demo Video:

注:图片来自[2]

作者:@Mapupcal

前言:

智能剪刀算法(Intelligent Scissors)是由Eric N. Mortensen和William A. Barrett于1995年提出来的一种图像分割的交互算法,可以用于2D图像分割,论文见[1][2]。

该算法可以用于辅助用户精确地勾勒出感兴趣的区域。

其可以在运行时快速地定位到该图像区域的边缘上,通过与用户交互,更精确地完成整个感兴趣区域的勾画、分割。(如上图所示)


算法理论基础:

①将图像转换成一个庞大的加权有向图。

②在运行时,通过特定的寻路算法,在出发点[a]开始,寻找一条最优路径,该路径通往用户指定的目标点[b]。

[a] 论文中为种子点,SeedPoint,为了和论文相对应,以下均使用SeedPoint,下同。

[b] 论文中为自由点,FreePoint.

注:智能剪刀算法的核心在于①,论文[1][2]着重讨论了如何确定加权有向图的边权重。

注:关于②,论文也提供了相应的算法实现,论文当中的算法就是Dijkstra最短路径搜索算法的一种变种。

 

将图像变成一个庞大的加权有向图:

图像中每个像素,在加权有向图中都将成为该图中的一个结点Node。

相邻的像素,互相之间存在一条加权有向边。

确定每条加权有向边的权重。

注:在内存表示加权有向图的方式有很多,有每个节点基于顺序容器存放有向边的方式,也有基于矩阵的方式。在实现中,为了数据的局部性,本文采用了基于矩阵的方式去实现可提高性能。

 

对于某一个非边界像素p,其有八个邻居像素,如:



当转换成加权有向图之后,就变成如下这个样子:

  • 8
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值