2011-09-27
■[python]PILでHalftonみたいなの
こんな感じですか?わかりません><。
Before
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")
トラックバック - http://d.hatena.ne.jp/ninoseki/20110927/1317125648
リンク元
- 13 http://q.hatena.ne.jp/1281003582
- 10 http://www.google.co.jp/url?url=http://d.hatena.ne.jp/ninoseki/20090208/1234100058&rct=j&sa=U&ei=dfKDTsDNKJHzrQf3zJi4DA&ved=0CBgQFjAF&q=ヒストグラム+比較&usg=AFQjCNFuWOI8X9-ZWDkfan7kztcVveXvUg
- 8 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CCYQFjAA&url=http://d.hatena.ne.jp/ninoseki/20100211/1265874902&rct=j&q=Origoプロジェクト&ei=aZd9TtCeEfGNmQXZg7yjBQ&usg=AFQjCNF8dr9WqmUfiG3p2Zf7rtX
- 5 http://d.hatena.ne.jp/name-3333/20090819/1250685049
- 5 http://www.google.co.jp/search?aq=f&gcx=c&sourceid=chrome&ie=UTF-8&q=微分フィルタ
- 5 http://www.google.com/url?sa=t&source=web&cd=2&ved=0CCkQFjAB&url=http://d.hatena.ne.jp/ninoseki/20090201/1233509489&rct=j&q=魚眼 c言語&ei=umOCTqOULLGCmQWAtJgm&usg=AFQjCNHHG3VGoeo6ljKtgAmyaYRYALKkSQ
- 4 http://www.google.co.jp/search?hl=ja&source=hp&biw=&bih=&q=opencv++テンプレートマッチング&btnG=Google+検索
- 4 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGLL_jaJP304JP304&q=nikeplus+api
- 3 http://www.google.co.jp/search?gcx=c&sourceid=chrome&ie=UTF-8&q=chrome+二重起動
- 3 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBsQFjAA&url=http://d.hatena.ne.jp/ninoseki/20091110/1257844324&rct=j&q=pydbg&ei=YaqHTum0IIP2mAW2te0F&usg=AFQjCNErOmuxHFIHs2Ac5OipkPPW9GErsw


