PILでHalftonみたいなの
こんな感じですか?わかりません><。
After
# -*- coding: utf-8 -*- from PIL import Image, ImageDraw def collect(img, h, w, y, x, interval): y2 = (y + interval) if (y + interval) < h else h - 1 x2 = (x + interval) if (x + interval) < w else w - 1 r = 0 g = 0 b = 0 c = 0 for i in range(y, y2 + 1): for j in range(x , x2 + 1): p = img.getpixel((j, i)) r += p[0] g += p[1] b += p[2] c += 1 return (r / c , g / c , b / c) if c > 0 else (255, 255, 255) def halftone(img): size = img.size w = size[0] h = size[1] interval = 4 r = interval / 2 output = Image.new('RGB', (w, h), 'white') draw = ImageDraw.Draw(output) for y in range(0, h + r, interval): for x in range(0, w + r, interval): p = collect(img, h, w, y, x, interval) draw.ellipse((x - r, y - r, x + r, y + r), fill = p) return output if __name__ == '__main__': img = Image.open("src.jpg") output = halftone(img) output.save("dst.jpg")