2장. 이미지 입출력과 영상 시각화
용어 짚고 가기
파일 형식(file format)그림의 숫자를 파일에 어떤 규칙으로 적는지 정한 약속입니다. format 은 "짜임새, 꼴"이라는 뜻입니다.확장자(extension)파일 이름 끝의.png,.jpg같은 꼬리입니다. extension 은 "늘여 붙인 것"이라는 뜻입니다. OpenCV 는 저장할 때 이 꼬리를 보고 형식을 고릅니다.압축(compression)같은 내용을 더 적은 바이트로 적는 일입니다. compress 는 "눌러 담다"라는 뜻입니다.무손실 압축(lossless compression)줄였다가 풀면 숫자가 하나도 바뀌지 않는 압축입니다. loss(잃음)가 less(없음)라는 뜻입니다.손실 압축(lossy compression)눈에 덜 띄는 정보를 버려 파일을 더 작게 만드는 압축입니다. 풀어도 원래 숫자로 돌아가지 않습니다.PNG(Portable Network Graphics)무손실 압축 그림 형식입니다. 이름은 "어디서나 옮겨 쓰는 네트워크용 그림"이라는 뜻입니다. 투명도도 담을 수 있습니다.JPEG(Joint Photographic Experts Group)사진에 알맞은 손실 압축 형식입니다. 이 형식을 만든 "사진 전문가 공동 모임"의 이름이 그대로 형식 이름이 됐습니다. 확장자는.jpg나.jpeg를 씁니다.BMP(Bitmap)압축하지 않고 숫자를 그대로 늘어놓는 Windows 의 그림 형식입니다. bit(비트)로 만든 map(지도)이라는 뜻입니다.품질(quality)JPG 로 저장할 때 얼마나 덜 버릴지 정하는 0~100 의 숫자입니다. 클수록 원본에 가깝고 파일이 큽니다.알파 채널(alpha channel)칸마다 "얼마나 비치는지"를 적은 네 번째 숫자입니다. 0 이면 투명, 255 면 불투명입니다. 그림을 겹치는 식에서 이 값을 그리스 문자 알파(α)로 적은 데서 붙은 이름입니다.BGRA(Blue-Green-Red-Alpha)OpenCV 가 투명한 그림의 칸마다 파랑, 초록, 빨강, 알파의 네 숫자를 적는 순서입니다.읽기 모드(read flag)cv2.imread에 "어떤 모양으로 읽을지"를 알려 주는 값입니다. flag 는 "깃발, 표시"라는 뜻입니다.바이트(byte)컴퓨터가 저장 크기를 세는 단위입니다. 1바이트는 8비트이고 0~255 의 숫자 하나를 담습니다. 1KB(킬로바이트)는 1,024바이트입니다.좌표(coordinate)그림 안의 한 자리를 가리키는 숫자 짝입니다. co(함께)와 ordinate(순서를 정한 것)를 붙인 말입니다.원점(origin)좌표를 세기 시작하는 자리입니다. 그림에서는 왼쪽 위 칸이 (0, 0) 입니다.슬라이싱(slicing)img[10:50, 20:80]처럼 배열의 한 구간을 썰어 꺼내는 일입니다. slice 는 "얇게 썬 조각"이라는 뜻입니다.잘라 내기(crop)그림에서 필요한 네모 부분만 남기는 일입니다. crop 은 "작물을 베다, 짧게 깎다"라는 뜻입니다.평균 절대 차이(MAE, Mean Absolute Error)두 그림의 같은 자리 숫자끼리 뺀 값을 모두 양수로 바꿔 평균 낸 값입니다. 0 이면 두 그림이 똑같습니다.인코딩(encoding)배열을 PNG, JPG 같은 파일 꼴의 바이트로 바꾸는 일입니다. 반대로 바이트를 배열로 푸는 일은 디코딩(decoding)입니다. code 는 "약속된 부호"라는 뜻입니다.figureMatplotlib 에서 그림 전체를 담는 도화지입니다. figure 는 "모양, 그림"이라는 뜻입니다.axesfigure 안에 그림 하나가 들어가는 칸입니다. 가로축과 세로축(axis)을 가진 칸이라 축의 복수형 이름이 붙었습니다.서브플롯(subplot)도화지 하나를 격자로 나눈 칸 하나하나입니다. sub(아래, 작은)와 plot(그래프)을 붙인 말입니다.보간(interpolation)그림을 키울 때 원래 칸 사이에 없는 값을 채워 넣는 방법입니다. inter(사이)와 polate(다듬다)를 붙인 말입니다.dpi(dots per inch)1인치(약 2.54cm)에 점을 몇 개 찍는지입니다. 그림을 저장할 때 dpi 가 클수록 픽셀 수가 많아집니다.