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
예제 #2
0
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()