Пример #1
0
def restoreGray(image, mask):

    # Make a copy of the image
    newImage = image[:]
    support.showImage(newImage)

    # For a certain amount of time run inpaint algorithm
    for i in range(0, T + 1, 1):
        inpaint(image, newImage, mask)
        image, newImage = newImage, image

        # Every so many iterations save the result
        if i % step == 0:
            support.saveImage(newImage, "%s-%04d.png" % (imgName, i))
            support.showImage(newImage)

    return newImage
def testTiffany():
    image = support.loadImageRGB("originals/tiffany.png")
    image = impress.impress(image)
    support.showImage(image)
    support.saveImage(image, 'tiffany_color' + color_plate)
def testTable():
    image = support.loadImageRGB("originals/table.png")
    image = impress.impress(image)
    support.showImage(image)
    support.saveImage(image, 'table_color' + color_plate)
def testRiver():
    image = support.loadImageRGB("originals/riverfront.png")
    image = impress.impress(image)
    support.showImage(image)
    support.saveImage(image, 'riverfront_color' + color_plate)
def testFlowers():
    image = support.loadImageRGB("originals/flowers.png")
    image = impress.impress(image)
    support.showImage(image)
    support.saveImage(image, 'flowers_color' + color_plate)
def testDesktop():
    image = support.loadImageRGB("originals/desktop.png")
    image = impress.impress(image)
    support.showImage(image)
    support.saveImage(image, 'desktop_color' + color_plate)
def pixelart(imageRGB, rowsOut, colsOut, K):
  rowsIn, colsIn = support.getSize(imageRGB)
  N = rowsOut * colsOut # Number of superpixels
  M = rowsIn * colsIn # Number of input pixels

  # Convert the input image to lab space
  imageLAB = support.rgb2lab(imageRGB)

  # Initialize superpixels, palette, and temperature
  superpixels = initSuperPixels(imageLAB, rowsOut, colsOut)
  palette = initPalette(imageLAB)
  T = initT(imageLAB)

  # While (T > Tf)
  i = 0
  while T > Tf:
    if printProgress:
      print "Iteration: %d T: %d" % (i,T)

    # REFINE superpixels with 1 step of modified SLIC
    refineSuperPixels(imageLAB, superpixels)

    # ASSOCIATE superpixels to colors in the palette
    # Update pckps for each cluster
    for cluster in palette:
      cluster.sub1.updatePckps(superpixels, T, palette)
      cluster.sub2.updatePckps(superpixels, T, palette)
    # Update pck for each cluster
    for cluster in palette:
      cluster.sub1.updatePck(superpixels)
      cluster.sub2.updatePck(superpixels)
      

    # REFINE colors in the palette
    totalChange = refinePalette(superpixels, palette)
    if printProgress:
      print "totalChange", totalChange

    # If (palette converged)
    print "Palette size: %d" % len(palette)
    if totalChange < ep_palette:

      # REDUCE temperature T = aT
      T = alpha * T

      # EXPAND palette
      expandPalette(palette, K)

    support.showImage(convertImage(rowsOut, colsOut, superpixels))
    i += 1

  for cluster in palette:
    print cluster.getPckps("0,0")
    print "color", cluster.getColor()

  # Use colors in palette not just average
  for sp in superpixels.itervalues():
     name = "%d,%d" % (sp.outPos[0], sp.outPos[1])
     maxProb = 0.0
     for cluster in palette:
       #print cluster.sub1.pckps[name]
       prob = cluster.getPckps(name)
       if prob > maxProb:
         maxProb = prob
         sp.color = cluster.getColor()
     #print "prob", prob

  return convertImage(rowsOut, colsOut, superpixels)
#test.py

import support
from pixelart import *

image = support.loadImageRGB("obama80x54.png")
image = pixelart(image, 6, 4, 4)
support.showImage(image)
support.saveImage(image, "obama6x4")
Пример #9
0
def testRgbToSphere():
    image = support.loadImageRGB("originals/fig6b-rgb.png")
    support.showImage(image)
    r, theta, phi = rgbToSphere(image)
    rgb_image = sphereToRgb(r, theta, phi)
    support.showImage(rgb_image)