비트맵 (bitmap)
픽셀의 집합
영상의 전체 크기에 해당하는 픽셀 정보를 그대로 저장
표현이 직관적, 분석 용이
메모리 용량 많이 차지
영상 확대/축소 시 화질 손상 심함
사진, 포토샵
벡터 그래픽스 (vector graphics)
점과 점을 연결해 수학적 원리로 그림을 그려 표현하는 방식
확대 축소 시 화질 손상되지 않음
폰트, 일러스트레이터
비트맵 종류
장치 의존 비트맵 (DDB)
출력 장치의 설정에 따라 다르게 표현
장치 독립 비트맵 (DIB)
BMP파일은 Windows 환경에서 비트맵을 DIB 형태로 저장한 파일 형식
BMP 파일 구조
- 비트맵 파일 헤더
비트맵 파일에 대한 정보
- 비트맵 정보 헤더
비트맵 영상에 대한 정보
- 색상 테이블/팔레트
비트맵에서 사용되는 색상 정보 : BGRA
grayscale 비트맵 : (0,0,0,0)~(255,255,255,0) = 4×256=1024Bytes
truecolor 비트맵 : 색상 테이블 존재하지 않음
- 픽셀 데이터
grayscale 비트맵 : RGBQUAD 배열의 인덱스 저장
truecolor 비트맵 : (B,G,R) 순서로 픽셀 값 저장
일반적으로 상하가 뒤집힌 상태로 저장됨(bottom-up)
효율적 데이터 관리를 위해 영상의 가로 크기를 4의 배수로 저장
grayscale BMP 파일 분석
truecolor BMP 파일 분석
BMP 파일 출력 프로그램 만들기
Windows 프로그램의 기본 동작 방식 이해
BMP 파일을 디코딩하여 DIB를 출력하는 코드 이해
생략
BMP, JPG, GIF, PNG 파일 형식의 특징
- BMP
픽셀 데이터 압축하지 않고 그대로 저장
파일 구조 단순 -> 별도 라이브러리 없이 파일 입출력 프로그래밍 가능
- JPG
주로 사진과 같은 컬러 영상 저장
손실 압축
압축률이 좋아서 파일 용량 크게 감소
- GIF
256색상 이하의 영상 저장
무손실 압축
움직이는 GIF 지원
- PNG
Portable Network Graphics
무손실 압축
알파 채널(투명도) 지원
영상 데이터 크기 분석
grayscale : w×h Bytes
truecolor : w×h×3 Bytes
512x512 Grayscale
1920x1080 Truecolor
1920x1080 Truecolor
일반적으로 저주파 성분이 강한 영상이 압축률 좋음