2011. 6. 28. 02:05

[ Problem ] - http://huge:file@www.pythonchallenge.com/pc/return/5808.html

♧ 흐릿한 이미지가 보인다. (해당 타이틀을 보면 "odd-even" 홀수/짝수에 대한 힌트가 주어진다.)
♧ 해당 이미지를 PIL의 getpixel()로 픽셀 값을 읽어 보면 홀/짝 순으로 번갈아 가며 특정한 패턴이 보인다.

   

♧ 해당 픽셀 값을 짝수로 읽어보면 다음과 같다.

# encoding=utf8
import urllib, StringIO
from PIL import Image, ImageDraw

# ① 이미지 파일 오픈.
url = 'http://huge:file@www.pythonchallenge.com/pc/return/cave.jpg'
u_img = urllib.urlopen(url).read()
im = Image.open(StringIO.StringIO(u_img))

# ② 짝수번째 픽셀을 저장할 빈 이미지 생성.
even_im = Image.new('RGB', (im.size[0], im.size[1]))

# ③ 해당 이미지의 짝수번째 픽셀값만 even_im에 변경하여 그리기.
for x in range(im.size[0]):
    for y in range(im.size[1]):
        if (x+y)%2 == 0:
            even_im.putpixel((x, y), im.getpixel((x,y)))

# ④ 해당 이미지를 반으로 출력. (320x240)
even_im.resize((320,240)).show()

   

♧ 출력 화면을 보면 오른쪽 위에 흐릿하게 'evil'이란 단어가 보인다.

  

   

[ Solution ] - http://www.pythonchallenge.com/pcc/return/evil.html

(※ 문제에 대한 다양한 해결법은 링크 참조.)

Posted by devanix