처음에 페이지 소스 보기를 해도 아무런 것이 안보여서 저 줄에서 문제가 있을 거라 생각을했다. 보게되면 일정한 규칙으로 색이 변하는 것을 볼 수 있다.
어떤 rgb인지 확인하기 위해 pillow 이미지 편집 라이브러리를 사용하여 아래와 같이 해당 부분만 편집하여 데이터를 저장후 각 픽셀이 가진 rgb를 찾았다.
아래는 위 이미지 처리 및 rgb를 검출해 내는 코드이다. rgb를 보니 ascii 코드와 유사하다 생각하여 chr를 이용하여 문자열로 변환하였다.
from msilib.schema import Feature
from PIL import Image
img = Image.open("C:\\Users\\Jeong\\Desktop\\oxygen.png")
# 629,95
crop_img = img.crop((0,43,608,52)).convert('RGB')
img.crop((0,43,608,52)).show()
rgb_data = ""
for i in range(0,608,7):
r,g,b = crop_img.getpixel((i,0))
rgb_data += chr(r)
print(rgb_data)
# -----------------------------------------------------
rgb_data 내용
last_data= ""
list = [105, 110, 116, 101, 103, 114, 105, 116, 121]
for i in list:
last_data += chr(i)
print(last_data)
출력 : smart guy, you made it. the next level is [105, 110, 116, 101, 103, 114, 105, 116, 121]
와 같이 나왔고 is 뒤 문장을 다시 ascii 코드로 변환하면 답이 나오게 된다.
++ 맨처음 간격을 정하지 않고 1의 간격으로 잘라서 만약 전 rgb 데이터와 일치하지 않는 경우만 if문으로 잡아내 데이터를 집어넣었더니 중복된 데이터의 경우 검출하지 않는 문제가 발생하였다. 예를들면 110 같은 경우 1을 중복데이터라 보고 10을 치환해주는 것이다. 이런것도 잘 고려하여 코드를 작성해야할 필요성이 있다.
문제 풀때 참고한 사이트
https://coding-kindergarten.tistory.com/158
[Python/Pillow] 파이썬 이미징 라이브러리(PIL)_2편.이미지 크기 변경(resize), 자르기(crop), 회전(rotate),
안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다. 코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도
coding-kindergarten.tistory.com
다음 Level 8 주소
'Python > Python Challenge' 카테고리의 다른 글
[Python Challenge]파이썬 챌린지 Level 6 풀이 (0) | 2022.07.22 |
---|---|
[Python Challenge]파이썬 챌린지 Level 5 풀이 (0) | 2022.07.21 |
[Python Challenge]파이썬 챌린지 Level 4 풀이 (0) | 2022.07.20 |
[Python Challenge]파이썬 챌린지 Level 3 풀이 (0) | 2022.07.19 |
[Python Challenge]파이썬 챌린지 Level 2 풀이 (0) | 2022.07.19 |