본문 바로가기
영상처리

BMP 포맷

by 머리올리자 2021. 1. 14.

BITMAPFILEHEADER
멤버 변수
1) bfType
  - 비트맵 파일임을 확인 'BM'이라는 값을 저장
  - 'B' : 0x42
  - 'M' : 0x4D
  - BMP 파일을 바이너리 편집기로 열어서 16진수 형태로 보면 항상 처음이 0x4D42 로 시작

2) bfSize
  - BMP 파일의 크기를 바이트 단위로

3) bfReserved1, 2
  - 추후 사용하기 위한 값, 잘 사용 안하고 0의 값을 가짐

4) bfOffBits
 - 데이터의 시작 위치부터 실제 픽셀 데이터 정보를 담고 있는 비트맵 비트까지의 바이트 오프셋
 - [BITMAPFILEHEADER 크기 + BITMAPINFOHEADER 크기 + 색상 테이블 크기] 와 같음

 

BITMAPINFOHEADER 
멤버 변수 
1) biSize
  - 구조체를 저장하기 위해 필요한 바이트 수

  - 일반적으로 40, 아니면 확장형 DIB

 

2) biWidth

  - 비트맵의 가로 크기를 필셀 단위로 나타냄

 

3) biHeight

  - 비트맵의 세로 크기를 픽셀 단위로 나타냄

  - 값이 양수이면 상하가 뒤집한 상태로 저장, 음수이면 정상적인 상태로 저장

  - 일반적으로 양수로 저장

 

4) biPlane

  - 비트맵을 화면 등에 보여줄 때 필요한 플레인 수

 

5) biCount

  - 픽셀 하나를 표현하기 위해 필요한 비트수

  - 1, 4, 8, 16, 24, 32의 값을 가질 수 있다.

  - 8이면 $2^8$ = 256가지 색을, 24면 $2^24$ = 16,777,216가지 색(트루컬러)를 표현할 수 있다.

 

6) biCompression

  - 압축 유형을 나타낸다. 일반적으로 BMP 파일은 압축을 하지 않음을 나타내는 BI_RGB 값을 가진다.

 

7) biSizeImage

  - DIB(device independent bitmap) 구조에서 픽셀 데이터를 저장하는 데 필요한 메모리 공간의 크기

 

8) biXPelsPerMeter

  - 가로 방향으로 미터당 픽셀 수

 

9) biYPelsPerMeter

  - 세로 방향으로 미터당 픽셀 수

 

10) biClrUsed

  - 색상 테이블에서 실제 사용되는 색상 수

 

11) biClrImportant

  - 비트맵을 화면에 표현하기 위해 필요한 색상 인덱스의 수를 나타낸다.

 

참고 서적 : Visual C++와 OpenCV로 배우는 디지털 영상처리

'영상처리' 카테고리의 다른 글

포인트 처리  (0) 2021.01.24
비트맵 포맷의 구조  (0) 2021.01.24
Opencv 2.4.13.3 + Visual Studio 2019  (2) 2021.01.07
비트맵 영상의 컬러표현  (0) 2021.01.06
이미지 파일의 RAW  (0) 2021.01.05