[7] Python Challenge7 [ PIL ]

2017. 2. 23. 20:55Python/Python Challange




Python Challenge 7번입니다.



import가 안되는 문제로 문제풀이가 제대로 되지 않았습니다


[ 문제 풀이법 ]

1. import image

2. img = image.open ( "oxygen.png ")    // 이미지파일을 객체형태로 반환

3. xSize , ySize = img.size()                    // img의 크기입니다 반환형태는 ( size of x , size of y ) x축과 y축 크기입니다

4. 이미지를 그림판으로 확대해서 검정바의 위치를 찾아보았습니다

5. 검정바는 y축 43px~52px 사이에 위치해있었고, x축 방향으로 607px 만큼 차지하고있었다

6. 또,  그림의 한 픽셀 당 7px의 크기를 가지고 있었다

7. 그러므로 코드를 짜보면

for x in range ( 0 , 607 , 7 ):

pixel = img.getPixel( x , 48 )

print( chr ( pixel[0] )  )


8. pixel 변수는 ( R , G , B , A ) 값을 가진다 ( 튜플 형태 )

9. pixel[0] == R 이다. 해당 숫자는 아스키코드이며 , 해당하는 문자를 출력해보자


# 이 문제에서 가장 생소하고 가장 중요한 메서드는 getPixel() 입니다!

img.getPixel( x , y ) : img객체의 ( x , y )좌표의 해당픽셀의 색상을 ( R , G , B , A ) 형태로 반환해줍니다.

red , green , blue , 그리고 투명도입니다.

[ 소스코드 ]


 import image

 img = image.open("oxygen.png")

 for x in range ( 0 , 607 , 7 ):

     res = img.getpixel(x,48)

     res = chr( res[0] )

     print( res , end='' )



[출력내용]

smart guy, you made it. the next level is [ 105 , 110 , 116 , 101 , 103 , 114 , 105 , 116, 121]


해당 숫자들을 chr()메서드를 통해서 문자로 변환시키자

" integrity "



'Python > Python Challange' 카테고리의 다른 글

[8] Python Challenge8 [ bz2 ]  (0) 2017.02.27
[6] Python Challenge6 [ zipfile ]  (0) 2017.02.20
[5] Python Challenge5 [ Pickle ]  (0) 2017.02.17
[4] Python Challenge4 [ urllib.request ]  (0) 2017.02.14
[3] Python Challenge3 [ 정규식 ]  (0) 2017.02.09