'python image library'에 해당되는 글 2건

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

2010.04.07 19:24 WarGame




주석도 없고 사진 설명도 없습니다

제목은 odd even

뭔가 감이 오는데요

사진의 Pixel 을 홀, 짝으로 나누어보면

답이 나올 것 같은 느낌이 마구마구 드는군요

가로 , 세로가 모두 홀, 짝 2개씩으로 나눠지니까

총 4개의 그림이 생기겠군요


답을 확인할 수 있습니다

좀 신기하네요 :D

아무튼 다른 그림도 확인해봤는데

x,y가 홀이나 , 짝으로 같을 경우엔 정답 화면이

x,y가 서로 다른경우엔 다음과 같은 사진이 뜨는군요




2로 나눠준것 떄문에 그런가 싶어서 다시 해봤는데도 결과는 동일합니다

얻어오는 픽셀 정보가 다른데도 픽셀 수가 많다보니 같게 보이는 거겠죠

아무튼 전 문제보단 훨씬 간결하군요

어때요 참 쉽죠?

Posted by LinkC

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.

공지사항

Yesterday57
Today61
Total309,989

달력

 « |  » 2018.05
    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    

최근에 받은 트랙백

글 보관함


. .