OpenCV 비전 실무2장 · 이미지 입출력과 영상 시각화20 / 21← 이전목차다음 →MetaContents

2장. 이미지 입출력과 영상 시각화

정리

읽기와 저장, 영상 데이터 구조, Matplotlib 시각화의 세 칸으로 2장을 요약한 인포그래픽
  • PNG 는 무손실이라 다시 읽은 숫자가 원본과 같고, JPG 는 품질 숫자가 낮을수록 숫자를 더 버려 파일이 작아집니다. 상품 그림을 품질 95 로 저장하면 10.3KB(평균 차이 1.780), 품질 5 로 저장하면 1.8KB(평균 차이 11.449)였습니다.
  • cv2.imread 의 읽기 모드는 IMREAD_COLOR(기본값, 세 채널), IMREAD_GRAYSCALE(한 채널), IMREAD_UNCHANGED(저장된 그대로, 투명 png 는 네 채널) 셋입니다.
  • 알파 채널은 칸마다 얼마나 비치는지를 0(투명)~255(불투명)로 적은 네 번째 숫자입니다.
  • 배열의 메모리 크기는 세로 × 가로 × 채널 × 1바이트이고, nbytes 로 바로 확인합니다. 파일 크기는 압축 때문에 이보다 작습니다.
  • 그림 함수는 (x, y), 배열은 [행, 열] 순서입니다. 잘라 내기는 img[y 시작:y 끝, x 시작:x 끝] 한 줄이고 끝 번호는 들어가지 않습니다.
  • cv2.imwrite 는 확장자로 형식을 정하고 성공 여부를 True/False 로 돌려줍니다. 옵션은 [이름, 값] 목록으로 줍니다.
  • Matplotlib 은 figure(도화지)와 axes(칸)로 짜여 있습니다. plt.subplots 와 axes.flat 으로 여러 장을 놓고, interpolation="nearest" 로 확대해 보고, fig.savefig 로 보고서 그림을 남깁니다.
← 이전 절2장 · 프로젝트 1 — 상품 사진 저장 형식 비교 보고서다음 절 →2장 · 확인문제와 해답