def stipple(): points = sti.stipple('../stipple/StippleGen2/data/grace.jpg', 4000, resize=400) mindot = 0.75 maxdot = 4. npetals = 7 petal_taper = 1.5 petal_fatness = 2. flowers = [] for p in points: r = maxdot - (p[2] / 255.) * (maxdot - mindot) flowers += flo.flower( p[0], p[1], npetals, r, # petal length = particle radius r * 0.5, # petal width petal_taper, petal_fatness) line_width = 0.1 dwg = svg.Drawing('test.svg') flo.draw(flowers, dwg, color='blue', line_width=line_width) dwg.save()
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 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 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")
# Give output array dimmensions out_array = numpy.zeros(array.size).reshape((len(array), len(array[0]))) for i in range(len(array)): for j in range(len(array[0])): out_array[i][j] = look_up_table[array[i][j]] out_img = Image.fromarray(out_array.astype(numpy.uint8)) out_img.save("pre_stipple.jpeg") # Call stipple.py # stipple.stipple(<image array> , <variance>, <min size of minimum array chunk>) stipples = stipple.stipple(out_array, 0.1, 0, 64) print "blocks = ",stipples[1] print "recursions = ",stipples[2] print "stipple number = ",stipples[3] out_img = Image.new('L', (len(array[0]), len(array)), "white") out_img = drawing.draw_stipples(out_img, stipples[0], 1) out_img.save("post_stipple.jpeg") print "Finished drawing stipples" edges = graph.min_span_tree(stipples[0]) # #for i in range(0, len(edges)-1): # for j in range(i+1, len(edges)):
look_up_table.append(255) # Give output array dimmensions out_array = numpy.zeros(array.size).reshape((len(array), len(array[0]))) for i in range(len(array)): for j in range(len(array[0])): out_array[i][j] = look_up_table[array[i][j]] out_img = Image.fromarray(out_array.astype(numpy.uint8)) out_img.save("pre_stipple.jpeg") # Call stipple.py # stipple.stipple(<image array> , <variance>, <min size of minimum array chunk>) stipples = stipple.stipple(out_array, 0.1, 0, 64) print "blocks = ", stipples[1] print "recursions = ", stipples[2] print "stipple number = ", stipples[3] out_img = Image.new('L', (len(array[0]), len(array)), "white") out_img = drawing.draw_stipples(out_img, stipples[0], 1) out_img.save("post_stipple.jpeg") print "Finished drawing stipples" edges = graph.min_span_tree(stipples[0]) # #for i in range(0, len(edges)-1): # for j in range(i+1, len(edges)):
from stipple import stipple from tsp import nn,opt2 def draw_route(route, sz, fname, red=set(), green=set(), blue=set()): im = Image.new('RGB', sz, (255, 255, 255)) draw = ImageDraw.Draw(im) edges = [[route[i],route[i+1]] for i in range(len(route)-1)] + [(route[-1], route[0])] for e in edges: draw.line(e, fill=(127, 127, 127), width=2) del draw im.save(fname) #以下、「1.画像の読込」に該当 im = Image.open('../img/sample.jpg') im = im.resize((int(im.size[0]/1.5),int(im.size[1]/1.5))) gray_im = im.convert('L') gray_im.save('gray_converted.jpg') print("横:{}px, 縦:{}px".format(im.size[0],im.size[1])) #以下、「2. 読込んだ画像を点描画」に該当 points = stipple(gray_im,5) #以下、「3. 1で生成された点群をTSPとして解く」に該当 nn_route = nn(points) draw_route(nn_route, im.size, 'tsp_nn.jpg') route_improved = opt2(nn_route) #以下、「4. 2で導かれた経路を描画」に該当 draw_route(route_improved, im.size, 'tsp_improved.jpg')
import stipple from connect import connect import subprocess def import_image_file_and_convert(filename): image = Image.open(filename) image2 = image.convert('L') image2.show() return image2 if __name__ == '__main__': filename = input('Please input filename: ') #get input image name image = import_image_file_and_convert(filename) stippled = stipple.stipple(image) #.stipple use .get_initial_generators # print(len(stippled)) im2 = Image.new('RGB', (image.size[0], image.size[1]), (255, 255, 255)) draw2 = ImageDraw.Draw(im2) for point in stippled: draw2.point((point[0], point[1]),fill = 'black') im2.save('stippled.jpg') connected = connect(image,stippled) draw = ImageDraw.Draw(connected)