2장. 이미지 입출력과 영상 시각화
먼저 큰 그림부터
동네 사진관을 떠올려 봅시다. 손님이 맡긴 사진 파일을 받아 열어 보고, 크기와 상태를 살핍니다. 얼굴 부분만 크게 뽑아 달라고 하면 그 자리만 잘라 키웁니다. 잘 나온 사진은 진열대에 나란히 걸어 보여 주고, 마지막에 봉투에 담아 건넵니다. 이 장에서 하는 일이 꼭 이 순서입니다. OpenCV 로 그림 파일을 읽고, 숫자 표의 모양을 살피고, 필요한 자리만 잘라 내고, Matplotlib 으로 여러 장을 나란히 띄우고, 결과를 파일로 남깁니다.
이 장에서는 네 가지를 챙겨 갑니다. 첫째, PNG 와 JPG 가 무엇이 다르고 언제 무엇을 고르는지입니다. 둘째, cv2.imread 의 읽기 모드와 투명한 그림의 네 번째 숫자(알파)입니다. 셋째, 영상 데이터의 모양과 크기, 그리고 좌표를 읽는 두 가지 순서입니다. 넷째, Matplotlib 으로 여러 장을 격자로 놓고, 크게 키워 보고, 보고서용 그림으로 저장하는 법입니다. 1장에서 본 내용(이미지는 숫자 표, BGR 순서, imread 가 실패하면 None, cvtColor 로 RGB 바꾸기)은 짧게 되짚기만 하고 그 위에 쌓습니다.