본문 바로가기

WarGame/PythonChallenge

Python Challenge 11 :: Image(PIL)

파이썬 챌리지 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', (700700))    # 새로운 이미지 생성
 
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