def applyFilter(self, aImage): oldtime = time.time() # intialize a new filtered image new_image = Image.new('RGB', aImage.size) new_image_list = [] #get the pixels list from the original image #pixels = aImage.getdata() pixels = Lib.to2d(aImage) height = len(pixels) width = len(pixels[0]) print height, width n = 0 p = 1 for x in range(width): for y in range(height): r = int(pixels[y][x][0]*self.amount) g = int(pixels[y][x][1]*self.amount) b = int(pixels[y][x][2]*self.amount) if Lib.isprime(n): r=g=b=0 p+=1 new_pixel = (r,g,b) new_image_list.append(new_pixel) n+=1 new_image.putdata(new_image_list) timetaken = time.time()-oldtime print "primes:", n-p, ", out of", n , "pixels", ", it took", timetaken, "seconds" return new_image
def applyFilter(self, aImage): # intialize a new filtered image new_image = Image.new('RGB', aImage.size) new_image_list = [] #get the pixels list from the original image #pixels = aImage.getdata() pixels = Lib.to2d(aImage) height = len(pixels) width = len(pixels[0]) for x in range(width): for y in range(height): if x > self.size and x < (width - self.size) and \ y > self.size and y < (height - self.size): r = int(pixels[y][x][0]) g = int(pixels[y][x][1]) b = int(pixels[y][x][2]) else: r = int(self.color[0]*255) g = int(self.color[1]*255) b = int(self.color[2]*255) new_pixel = (r,g,b) new_image_list.append(new_pixel) new_image.putdata(new_image_list) return new_image
def applyFilter(self, aImage): # intialize a new filtered image new_image = Image.new('RGB', aImage.size) new_image_list = [] #get the pixels list from the original image #pixels = aImage.getdata() pixels = Lib.to2d(aImage) height = len(pixels) width = len(pixels[0]) hardness = 1 for x in range(width): for y in range(height): dist = Lib.distanceFromPoint(x, y, width/2, height/2) / math.sqrt((width/2)**2 + (height/2)**2) r = int(pixels[y][x][0]*(self.amount-dist)) g = int(pixels[y][x][1]*(self.amount-dist)) b = int(pixels[y][x][2]*(self.amount-dist)) #r = int(r**hardness) #g = int(g**hardness) #b = int(b**hardness) new_image_list.append((r,g,b)) new_image.putdata(new_image_list) return new_image