디바이스에 독립적인 영상파일을 저장하는 표준규격으로는 JPEG, GIF, BMP, TIFF, PCX, PGM 등 여러 규격이 존재
보통 영상데이터는 정ㅂ조량이 크기 때문에 압축을 통해 작은 크기로 변환하여 저장
BMP 파일포맷은 압축을 수행하지 않으며 헤드가 있는 여러 형식의 파일 중에수 구조가 가장 간단.
비트맵 파일에 대한 정보(파일헤드)
- "파일자체"의 정보를 저장하고 있는 구조체로써 미리 정의
- 사용자가 구조체 변수를 선언해 사용
"영상 자체" 에 대한 정보(영상헤드)
- 비트맵 영상에 대한 크기나 흑백/컬러 정보, 팔레트 크기 정보 등을 저장하기위해 파일헤드 바로 다음에 위치하는 구조체 변수.
팔레트
- 인덱스에 의한 컬러값을 저장하기 위한 구조체
- 팔레트의 수만큼 배열을 할당하여 저장
- 256 컬러모드의 영상은 팔레트배열 크기가 256개, 16비트 컬러영상은 팔레트 크기가 $2^{16}$개
DIB 사용 시 주의점
- 실제로 비트맵 영상이 저장될 때는 이미지가 거꾸로 저장된다.
- 따라서 영상처리를 위해 사용할 배열로 다시 저장할 때는 영상데이터를 거꾸로 반전시켜 저장해주면 된다.
영상 가로길이는 4바이트의 배수
- 비트맵은 메모리저장 시, 가로줄의 크기는 항상 4바이트의 배수가 되어야 함
- 실제 사용하는 영상의 가로길이는 4바이트의 배수가 아닐 수 있으므로 이럴 경우에는 4의 배수 바이트로 바꾸어 저장
- 예를 들어 흑백영상데이터의 실제 크기가 78 x 60이라면 가로는 4의 배수가 아니므로 80바이트로 만들고 나머지 두 바이트는 아무 값이나 넣어준다.
- 실제 저장되는 메모리는 80 x 60 픽셀의 크기가 된다.
참고 서적 : Visual C++와 OpenCV로 배우는 디지털 영상처리
'영상처리' 카테고리의 다른 글
포인트 처리 (0) | 2021.01.24 |
---|---|
BMP 포맷 (0) | 2021.01.14 |
Opencv 2.4.13.3 + Visual Studio 2019 (2) | 2021.01.07 |
비트맵 영상의 컬러표현 (0) | 2021.01.06 |
이미지 파일의 RAW (0) | 2021.01.05 |