'파이썬 이미지'에 해당되는 글 1건

  1. 2010.03.30 [ Python Challenge ] level7 풀이 (2)

2010.03.30 10:14 WarGame


it's in the air. look at the letters.


이 말만 있습니다 -.-

소스보기해도 아무것도 안보이고

쿠키를 보니 wikiticket 이던가 이상한 쿠키가 잡혔는데

Firebug로 보니 또 안잡히더군요

아무튼 그걸로 삽질좀 하다보니 이게 아니더라 싶었습니다 -.-

공기에 있는것.

질소? 산소?

nitrogen, oxygen

산소가 정답이군요

이제서야 문제가 나옵니다만...



....

갈수록 문제가 꼬아져나오는군요

좀전의 문제 힌트  look at the letters...

아무래도 여기에 정답이 숨어져있는 것 같습니다

HexEditor 로 열어서 pass, hint, next 찾아봤습니다만 아무것도 건질 수 없었습니다

흠..

그 회색바에 글자가 있는거 같긴 한데

이미지뷰어로 보다 보니 RGB 값이 하단에 나옵니다

보니까 낯익은 범위의 숫자만 보이는군요

아무래도 ASCII 값인거 같습니다

초반 몇개만 집어서 확인해볼까요?

115.. 109.. 97... 114.. 116

smart

아무래도 제대로 짚은거 같군요

남은걸 일일히 손으로 하는 방법도 있겠습니다만

Python을 이용해 푸는게 깔끔하겠죠

먼저 , image에 관련된 모듈을 찾기 위해서 구글링을 해봤는데

Python Image Library [ PIL ] 가 있더군요

각종 image에 관한 함수들을 제공해줍니다

http://www.pythonware.com/products/pil/

설치를 하고 우리의 목적에 맞는 함수들을 찾아야겠죠

우리가 원하는 건

1. Image 파일 오픈

2. Image 파일 내의 특정 부분 RGB 값 얻어오기

3. 얻어온 RGB값의 chr 형 변화


이정도 입니다

PIL에서 해야 하는건 위 2개 정도 되겠죠

open 함수를 이용해서 파일을 열고

파일 내의 픽셀 값을 읽어오되 세로가 45 px 인 부분을 쭉 읽어들이면 될 것 같습니다

이 px 값은 그림판에서 간단히 확인하실 수 있습니다

또는 image 모듈의 size 를 이용하면 너비, 높이를 쉽게 알 수 있습니다

먼저 간단히 소스를 짜서 결과 값을 보도록 하죠




RGB와 255 값을 리턴해주고 모두 7번씩 반복되는군요

이걸 다시 문자로 바꾸면 되겠죠








저걸 다시 바꿔주시면 답이 나옵니다 :D

이걸 또 소스로 자동화 시켜볼까요

좀 복잡합니다

105,110 이부분은 일단 문자열로 인식되므로 정규표현식을 이용해서

추출한 다음에 int 형으로 형변환을 해주고 [ ASCII 로 변환 ] , 이를 다시 chr 형으로 변환 시켜서

join으로 합쳐야 합니다

Posted by LinkC
이전버튼 1 이전버튼

블로그 이미지
LinkC

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

공지사항

Yesterday68
Today2
Total331,090

달력

 « |  » 2019.8
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 받은 트랙백

글 보관함


. .