RAWBITMAP헤더 BITMAP

 1  RAWBITMAP헤더 BITMAP-1
 2  RAWBITMAP헤더 BITMAP-2
 3  RAWBITMAP헤더 BITMAP-3
 4  RAWBITMAP헤더 BITMAP-4
 5  RAWBITMAP헤더 BITMAP-5
 6  RAWBITMAP헤더 BITMAP-6
 7  RAWBITMAP헤더 BITMAP-7
 8  RAWBITMAP헤더 BITMAP-8
 9  RAWBITMAP헤더 BITMAP-9
 10  RAWBITMAP헤더 BITMAP-10
 11  RAWBITMAP헤더 BITMAP-11
 12  RAWBITMAP헤더 BITMAP-12
 13  RAWBITMAP헤더 BITMAP-13
 14  RAWBITMAP헤더 BITMAP-14
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
다운로드  네이버 로그인
소개글
RAWBITMAP헤더 BITMAP에 대한 자료입니다.
본문내용
RAW, BITMAP헤더, BITMAP
비트맵 헤더 분석
비트맵 이미지의 헤더 부분에는 이미지를 결정하는 정보들이 있다.
이미지의 헤더정보
총 54byte로 구성
비트맵 헤더 정보
0x00 ~ 0x01: 가장 처음의 두 바이트는 매직넘버이다. B와 M에 해당하는 ASCII값인 42, 4D가 보인다.
2. 0x2 ~ 0x5: 그 다음 부터 4바이트는 파일의 크기이다.
3. 0x6 ~ 0x7 & 0x7 ~ 0x8 : 예약값
4. 0xA ~ 0xD : 픽셀 데이터의 시작 위치
비트맵 영상 정보
1. 0xE ~ 0x11 : 헤더의 크기. 0x28 = 40 이므로 헤더의 크기는 40바이트이다.
2. 0x12 ~ 0x15 : 비트맵 가로크기. 비트맵은 그림의 가로 길이가 4의 배수가 아닌 경우 더미 데이터가 들어가게 된다. 0x1E0 = 480 이므로, 이 비트맵의 가로 크기는 480이다.
3. 0x16 ~ 0x19 : 비트맵 세로 크기.
4. 0x1A ~ 0x1B : 사용하는 색 판(color plane)의 수. 1로 설정해야 한다.
5. 0x1C ~ 0x1D : 한 화소에 들어가는 비트 수
6. 0x1E ~ 0x21 : 압축 방식. 하지만 잘 사용하지 않는다. 따라서 값은 0.
7. 0x22 ~ 0x25 : 압축되지 않은 비트맵 데이터의 크기이다.
8. 0x26 ~ 0x29 : 그림의 가로 해상도. (미터 당 화소, signed integer)
9. 0x2A ~ 0x2D : 그림의 세로 해상도. (미터 당 화소, signed integer)
10. 0x2E ~ 0x31 : 색 팔레트의 색 수, 또는 0에서 기본값 2n.
11. 0x32 ~ 0x35 : 중요한 색의 수. 모든 색이 중요할 경우 0. 일반적으로 무시한다.
12. 0x36~ : 픽셀데이터
한 픽셀을 표현하기 위해 R, G, B
3바이트가 필요하다.
그러므로 3바이트씩 한픽셀을 표현한다.
다만 리틀 엔디안이므로 BGR의 순으로 저장.
또한, BMP파일은 그림의 상하를 반대로
저장하므로 첫 픽셀의 정보는
그림의 가장 아래줄 첫번째 픽셀이 된다.
리틀엔디안(Little Endian), 빅 엔디안(Big Endian)
리틀엔디안 - 메모리의 낮은 번지부터 저장
빅엔디안 - 메모리의 높은 번지부터 저장
빅엔디안과 리틀엔디안은 CPU에 따라 달라진다.
빅엔디안은 가독성이 뛰어나며, 대소비교가 빠르다.
-0x1234 를 0x1234로 저장하기 때문에, 첫 바이트로 대소 비교가 가능하다.
리틀엔디안은 산술연산이 빠르다.
-0x1234 을 0x3412로 저장하기 때문에 첫 바이트로 홀수와 짝수 판단이 가능하며, 연산 과정에서 자릿수 증가가 발생하여도, 빅엔디언보다 빠르다.