Advertisement
Trafalgar

whorley

Apr 29th, 2019
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.24 KB | None | 0 0
  1.  
  2. def doImageB(imgx, imgy, n):
  3.         print("Intializing Image B")
  4.         start = time.time()
  5.         image = Image.new("RGB", (imgx, imgy))
  6.         draw = ImageDraw.Draw(image)
  7.         pixels = image.load()
  8.         timera = time.time()
  9.         clist = numpy.zeros((imgx, imgy))
  10.         print("Time taken initializing: "+str(timera - start))
  11.        
  12.         seedsX = [random.randint(0, imgx - 1) for i in range(n)]
  13.         seedsY = [random.randint(0, imgy - 1) for i in range(n)]
  14.         timegd = time.time()
  15.         print("Time taken randomizing: "+str(timegd - timera))
  16.         # find max distance
  17.         maxDist = 0.0
  18.         for ky in range(imgy):
  19.                 for kx in range(imgx):
  20.                         maxd = 0.0
  21.                         mind = 9e10000
  22.                         # create a sorted list of distances to all seed points
  23.                         for i in range(n):
  24.                                 d = (seedsX[i] - kx)*(seedsX[i] - kx) + (seedsY[i] - ky)*(seedsY[i] - ky)
  25.                                 if d > maxd: maxd = d
  26.                                 if d < mind: mind = d
  27.                         smind = math.sqrt(mind)
  28.                         clist[kx, ky] = 255 * smind
  29.                         if smind > maxDist: maxDist = smind
  30.                         #if smind > 0: print("["+str(kx)+","+str(ky)+"]: smind = "+str(smind))
  31.         timep = time.time()
  32.         #print("Time taken = " + str(time.time() - timegd))
  33.         # paint
  34.         #print("Painting Image, Time = " + str(time.time()-start))
  35.         print("Time taken getting distances: "+str(timep - timegd))
  36.         for ky in range(imgy):
  37.                 for kx in range(imgx):
  38.                         c = int(round(clist[kx, ky] / maxDist))
  39.                         pixels[kx, ky] = (0, 0, c)
  40.         times = time.time()
  41.         print("Time taken painting image: "+str(times - timep))
  42.         #print("Saving Image, Time = " + str(time.time()-start))
  43.         #label = "N = " + str(n) + " M = " + str(m)
  44.         #draw.text((0, 0), label, (0, 255, 0)) # write to top-left using green color
  45.         image.save("WorleyNoiseB.png", "PNG")
  46.         print("Time taken saving image B: "+str(time.time() - times))
  47.         print("Total time: "+str(time.time() - start))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement