labels[m == 255] = 1 else: labels[m == 128] = 1 return labels # load image and annotation map im = array(Image.open('376043.jpg')) m = array(Image.open('376043.bmp')) # resize scale = 0.1 im = imresize(im, scale, interp='bilinear') m = imresize(m, scale, interp='nearest') # create training labels labels = create_msr_labels(m, False) # build graph using annotations g = graphcut.build_bayes_graph(im, labels, kappa=2) # cut graph res = graphcut.cut_graph(g, im.shape[:2]) # remove parts in background res[m == 0] = 1 res[m == 64] = 1 # plot the result figure() imshow(res) gray() xticks([]) yticks([]) savefig('labelplot.pdf')
from scipy.misc import imresize from PCV.tools import graphcut from PIL import Image from pylab import * im = array(Image.open("../data/empire.jpg")) im = imresize(im, 0.07) size = im.shape[:2] # add two rectangular training regions labels = zeros(size) labels[3:18, 3:18] = -1 labels[-18:-3, -18:-3] = 1 # create graph g = graphcut.build_bayes_graph(im, labels, kappa=1) # cut the graph res = graphcut.cut_graph(g, size) figure() graphcut.show_labeling(im, labels) figure() imshow(res) gray() axis('off') show()
if lasso: labels[m == 255] = 1 else: labels[m == 128] = 1 return labels # load image and annotation map im = array(Image.open('376043.jpg')) m = array(Image.open('376043.bmp')) # resize scale = 0.1 im = imresize(im, scale, interp='bilinear') m = imresize(m, scale, interp='nearest') # create training labels labels = create_msr_labels(m, False) # build graph using annotations g = graphcut.build_bayes_graph(im, labels, kappa=2) # cut graph res = graphcut.cut_graph(g, im.shape[:2]) # remove parts in background res[m == 0] = 1 res[m == 64] = 1 # plot the result figure() imshow(res) gray() xticks([]) yticks([]) savefig('labelplot.pdf')