我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

-

计算机视觉第9章实验-图像分割

图像分割

图像分割是指根据灰度、颜色、纹理、形状等特征,将图像分成若干个不重叠的区域,并使得这些特征在同一区域内显得相似,而不同区域之间显得有明显的差异。

基于图切割的分割

这类方法把图像分割问题和图的最小割问题联系起来,首先将图像映射到一个带权无向图G=,其中每个节点N∈V对应图像中每个像素,每条边∈E连接一对相邻像素,边的权重表示相邻像素之间在灰度、颜色或纹理方面的非负相似性。图像的一个分割区域s是图的一个割点,每个分割区域C∈S对应图中的一个子图。分割的最优原则是最大化划分后的子图内相似性、最小化子图间相似性。基于图论的分割方法的本质是通过去除特定的边,将图划分为若干个子图实现分割,目前已知的基于图论的方法包括,以及Walk等。

今天我们将用这个方法来做两个简单的例子

例子

我先附上实现代码

from pygraph.classes.digraph import digraph
from pygraph.algorithms.minmax import maximum_flow
gr = digraph()
gr.add_nodes([0,1,2,3])
gr.add_edge((0,1), wt=4)
gr.add_edge((1,2), wt=3)
gr.add_edge((2,3), wt=5)
gr.add_edge((0,2), wt=3)
gr.add_edge((1,3), wt=4)
flows,cuts = maximum_flow(gr, 0, 3)
print ('flow is:' , flows)
print ('cut is:' , cuts)

下面是一个使用-graph工具包计算小图的最大流/最小割的简单例子。

这段代码中,我们先创建一个有 4 个节点的有向图,节点索引分别为 0、1、2、3,然后使用 () 增加每条边的权重,权重用来衡量边的最大流容量,以节点 0 为源,节点 3 为汇,计算最大流。

上图所示的两行数字包含流经过的每条边和每个节点的标签;0 表示图中包含源节点的部分,1 表示连接到接收器节点的节点。

# -*- coding: utf-8 -*-
from scipy.misc import imresize
from PCV.tools import graphcut
from PIL import Image
from numpy import *
from pylab import *
im = array(Image.open("empire.jpg"))
im = imresize(im, 0.07)
size = im.shape[:2]
print ("OK!!")
# add two rectangular training regions
labels = zeros(size)
labels[3:18, 3:18] = -1
labels[-18:-3, -18:-3] = 1
print ("OK!!")
# create graph
g = graphcut.build_bayes_graph(im, labels, kappa=1)
# cut the graph
res = graphcut.cut_graph(g, size)
print ("OK!!")
figure()
graphcut.show_labeling(im, labels)
figure()
imshow(res)
gray()
axis('off')
show()

我们使用()函数将图像缩小到足够小以适合我们的-graph库。在此代码中,我们均匀地将图像缩小到原始图像大小的7%。在对图像进行分割后,将结果与训练区域一起绘制。

图上的朴素贝叶斯分类器模型

本代码中使用的分割函数是 .(im, , kappa=1),它根据一幅图像中像素的四个邻域,前景和背景,构建一个图,这四个邻域由我们确定,并通过朴素贝叶斯分类器建模。这个函数中还有一个参数 kappa,它决定了相邻像素之间的相对权重。改变 k 值分割效果,随着 k 值的增加,分割边界会变得越来越平滑,一些细节会逐渐丢失。

这里我将 kappa 设置为 1 和 1.5,得到以下结果。图 1 显示 kappa 为 1,图 2 显示 kappa 为 1.5

94

二维码
扫一扫在手机端查看

本文链接:https://by928.com/2929.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线