igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[igraph] Problem understanding STMincut results


From: Tom Wright
Subject: [igraph] Problem understanding STMincut results
Date: Fri, 16 May 2014 13:59:17 -0400

I know this is a lot to ask, but can anyone please help me understand what is happening, and possibly suggest approaches to fix my problem?

I am using the igraph library to solve an image processing problem. I wish to identify two horizontal lines in an image using an S-T cut approach.

My approach works perfectly for a graph representing an image of a certain (small) size. StMincuts of an image of 6xN pixels gives me the answer I expect (in the second cut cut$partition1s[[2]]) however a 7xN pixel image gives the 'wrong' answer. I'm guessing that the problem is probably to do with the link weights but I'm not sure how to solve this.

I have uploaded two graphs in graphml format, one for a 6x10 image and one for a 7x10 image along with the scripts and R image file used to create them. 
https://drive.google.com/folderview?id=0B9EhX8AShSIpeU5kN21DVUQyRHM&usp=sharing


Many thanks in advance,
Tom

g<-read.graph('graph_6x10.gml',format='graphml')

img<-matrix(0,nrow=6,ncol=10)
img[c(2,4),]<-1
szImg<-c(6,10)
numEl<-6*10


cut<-stMincuts(g,'s','t')

x1<-cut$partition1s[[1]]
x1<-x1[x1<=numEl*2]
x2<-cut$partition1s[[2]]
x2<-x2[x2<=numEl*2]

outimgS1p1<-matrix(0,nrow=szImg[1],ncol=szImg[2])
outimgS2p1<-matrix(0,nrow=szImg[1],ncol=szImg[2])
outimgS1p2<-matrix(0,nrow=szImg[1],ncol=szImg[2])
outimgS2p2<-matrix(0,nrow=szImg[1],ncol=szImg[2])

outimgS1p1[x1[x1<=numEl]]<-1
outimgS2p1[x1[x1>numEl]-numEl]<-1
outimgS1p2[x2[x2<=numEl]]<-1
outimgS2p2[x2[x2>numEl]-numEl]<-1

oldpar<-par(mfrow=c(5,1))
image(outimgS1p1,main='p1,s1')
image(outimgS2p1,main='p1,s2')
image(outimgS1p2,main='p2,s1')
image(outimgS2p2,main='p2,s2')
image(img)
par(oldpar)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]