파이썬 챌리지 11은 다음과 같습니다.
그림이 뭔가 이상한 것 같아 그림판으로 확대해 보겠습니다.
문제의 타이틀이 "odd even"인 거으로 보아, 홀수번째와 짝수번째 픽셀을 조합해보면
무엇인가가 나올 것 같습니다.
최종 풀이는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | import Image img = Image.open("/home/ubuntu/Downloads/cave.jpg") width, height = img.size new_img = Image.new('RGB', (700, 700)) # 새로운 이미지 생성 for h in range(height): for w in range(width): if (w+h)%2 == 0: # if 짝수 픽셀 new_img.putpixel((w,h), img.getpixel((w,h))) # 짝수번째 픽셀을 가져와서 새로운 이미지에 삽입 new_img.save("even.jpg") | cs |
Image.new(mode, (가로, 세로), color) : 새로운 이미지 객체 반환
getpixel((가로, 세로)) : 해당 위치에 픽셀 반환
putpixel((가로,세로), color) : 해당 위치에 픽셀 변경
save(파일명) : 파일로 저장
짝수번째 픽셀을 조합한 결과 다음과 같은 그림이 나옵니다.
'WarGame > PythonChallenge' 카테고리의 다른 글
Python Chanllenge 10 :: 읽고 말하기 수열 (0) | 2015.11.01 |
---|---|
Python Challenge 09 :: turtle (0) | 2015.10.31 |
Python Challenge 08 :: bz2 (0) | 2015.10.31 |
python challenge 07 :: Image(PIL) (0) | 2015.10.30 |
Python Challenge 06 :: zipfile (0) | 2015.10.26 |