def generatePoints(image): if (pointsGen == 'halftone'): depth = int(math.log(N,2)) #print(depth) dot_matrix = halftone.halftone(support.loadImageRGB(image), depth, halftone.renderDots) rows,cols = support.getSize(dot_matrix) dot_matrix = dot_matrix[1:rows-1,1:cols-1] rows,cols = support.getSize(dot_matrix) # Find points pointsList = [] for r in range(0,rows,1): for c in range(0,cols,1): if dot_matrix[r,c] == 0: pointsList.append([r,c]) # Find minimum distance for each point # Ceate new points list with minimum distance return generatePointTuples(pointsList, pointsList, rows, cols) elif (pointsGen == 'grid'): rows, cols = support.getSize(support.loadImageRGB(image)) size = math.sqrt(N) r_step = int(rows/size) r_init = r_step/2 c_step = int(cols/size) c_init = c_step/2 # Find points pointsList = [] for r in range (r_init, rows-1, r_step): for c in range(c_init, cols-1, c_step): pointsList.append([r,c]) # Find minimum distance for each point # Ceate new points list with minimum distance return generatePointTuples(pointsList, pointsList, rows, cols) elif (pointsGen == 'file'): f = file("points.txt", "w") line = f.readline().strip() pointsList = [] while line != "": values = line.split(" ") pointsList.append([int(values[0]), int(values[1])]) # Find minimum distance for each point # Ceate new points list with minimum distance return generatePointTuples(pointsList, pointsList, rows, cols) else: raise ValueError('Make sure pointsGen has a valid name')
def testNormFields(): image = images[image_num] heightField = support.loadImage(image[1]) heightField = heightField / 255.0 colorField = support.loadImageRGB(image[0])/255.0 normalField = emboss.computeNormals(heightField) emboss.renderFields(normalField, colorField)
def testTiffany(): #500/2000 image = support.loadImage('tiffany.pgm') resultPoints, resultCells = stipple.stipple(image) image = support.loadImageRGB('tiffany.png') image = image / 255 image = colorutils.assignColors(image, resultCells) #support.showImage(image) support.saveImage(image, "tiffany_2000_0.65")
def testEagle(): # 500/2000 image = support.loadImage('eagle.pgm') resultPoints, resultCells = stipple.stipple(image) image = support.loadImageRGB('eagle.png') image = image / 255 image = colorutils.assignColors(image, resultCells) #support.showImage(image) support.saveImage(image, "eagle_2000_0.5")
def testTable(): #1500/5000 image = support.loadImage('table.pgm') resultPoints, resultCells = stipple.stipple(image) image = support.loadImageRGB('table.png') image = image / 255 image = colorutils.assignColors(image, resultCells) #support.showImage(image) support.saveImage(image, "table_1500_0.65")
def tessellate_main(image): # 1. points = generatePoints(image) # 2. ETFr = support.loadMatrix(ETFr_file) ETFc = support.loadMatrix(ETFc_file) # 3-4 image_mat = support.loadImageRGB(image) # shrink image rows,cols = support.getSize(image_mat) image_mat = image_mat[1:rows-1,1:cols-1] # divide image by 255 so values are 0-1 image_mat = image_mat / 255 return tessellate(image_mat, points, ETFr, ETFc)
def testRiver(): image = support.loadImageRGB("riverfront.png")/255.0 emboss.emboss(image)
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 testLotusIn(): image = support.loadImageRGB("lotus-in.png") drawing = support.loadMatrix("lotus-curves.npy") image = image / 255.0 rgbImage = tessellate.assignColors(image, drawing) support.saveImage(rgbImage, "lotus-test.png")
#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")
def testFlowers(): image = support.loadImageRGB("flowers.png")/255.0 emboss.emboss(image)
def testEagle(): image = support.loadImageRGB("eagle.png")/255.0 emboss.emboss(image)
def testDesktop(): image = support.loadImageRGB("desktop.png")/255.0 emboss.emboss(image)
def testfig6aRGB(): image = support.loadImageRGB("originals/fig6a-rgb.png") mask = support.loadMatrix("originals/fig6a-mask.npy") image = restoreRGB(image, mask)
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)
def testAnimateRGB(): image = support.loadImageRGB("originals/animation-rgb.png") mask = support.loadMatrix("originals/animation-mask.npy") image = restoreRGB(image, mask) support.saveImage(image, "rgb-animation-9999.png")