def computeSuperPixelLabels( gtImage, superPixelObj ): n = superPixelObj.getNumSuperPixels() res = pomio.getVoidIdx() * np.ones( (n,), dtype=int ) c = 0 for sp in range( n ): try: res[sp] = assignClassLabelToSuperPixel( superPixelObj.getLabelImage()==sp, gtImage ) except: # Keep a count of the undecided pixels. Default label is void c += 1 if c > 0: print 'WARNING: %d of %d superpixels have conflicting GT class labels. Setting to void.' % (c,len(res)) if showDodgySPs: # Display for debug purposes. set to false to turn it off. superPixels.displayImage( superPixels.generateImageWithSuperPixelBoundaries( pomio.msrc_convertLabelsToRGB(gtImage),\ superPixelObj.m_labels ), \ imgTitle="Bad image graph", orientation="lower" ) pdb.set_trace() plt.waitforbuttonpress() return res
from matplotlib import cm import pomio import slic import superPixels import skimage import isprs import amntools imgRGB = amntools.readImage(args.imagefile) if len(args.spfile) == 0: numberSuperPixels = args.nbSuperPixels superPixelCompactness = args.superPixelCompactness # Turn image into superpixels. spix = superPixels.computeSuperPixelGraph(imgRGB, "slic", [numberSuperPixels, superPixelCompactness]) elif args.spfile.endswith(".pkl"): superPixelInput = pomio.unpickleObject(args.spfile) spix = superPixelInput[0] classProbs = superPixelInput[1] colourMap = pomio.msrc_classToRGB elif args.spfile.endswith(".mat"): spix, classProbs = isprs.loadISPRSResultFromMatlab(args.spfile) colourMap = isprs.colourMap else: assert False # Display superpixel boundaries on image. plt.imshow(superPixels.generateImageWithSuperPixelBoundaries(imgRGB, spix.m_labels)) plt.show()
import pomio import slic import superPixels import skimage import isprs import amntools imgRGB = amntools.readImage(args.imagefile) if len(args.spfile) == 0: numberSuperPixels = args.nbSuperPixels superPixelCompactness = args.superPixelCompactness # Turn image into superpixels. spix = superPixels.computeSuperPixelGraph( imgRGB, 'slic', [numberSuperPixels, superPixelCompactness]) elif args.spfile.endswith('.pkl'): superPixelInput = pomio.unpickleObject(args.spfile) spix = superPixelInput[0] classProbs = superPixelInput[1] colourMap = pomio.msrc_classToRGB elif args.spfile.endswith('.mat'): spix, classProbs = isprs.loadISPRSResultFromMatlab(args.spfile) colourMap = isprs.colourMap else: assert False # Display superpixel boundaries on image. plt.imshow( superPixels.generateImageWithSuperPixelBoundaries(imgRGB, spix.m_labels)) plt.show()