2023.11.10
사용툴 : visual stdio 2019
BMP Generator을 활용하여,
Color bar를 생성한 뒤 gray scale로 변경했다.
bmpGenerator_data_sheet
R,G,B 각각 8 BIT
Color Table 사용 안함
각 픽셀 3byte R, G, B를 넣어준다.
실제 픽셀 DATA가 *Raster Data(C언어 파일 참고)
구조체를 이용한 구조 변수 선언
InfoHeader 선언
bitmap_spec을 보고 구조체로 생성, 구조체 형식의 data type을 새로 만들었다.
Bmp_Header_Sig
2Byte
Bmp_Header
12Byte
InfoHeader
40Byte
PinfoHD
= 4byte
쓰레기 값을 없애주는 방법
1. 필드별로 0을 입력(변수값에 값을 직접 입력)
2. Pointer를 통해 초기화
3. Memset(초기화 함수)사용
1. 필드별로 0을 입력(변수값에 값을 직접 입력)
2. Pointer
B에서 8bit shift 해주는 이유
순서가 뒤바뀌어 들어가기 때문에
Raster Data : 규칙척인 픽셀 크기를 가진 격자형 데이터
시프트 없이 코딩시 결과
3. Memset(초기화 함수)사용
memset(초기화할 주소, 초기화할 값, 얼마만큼 쓸 것인가)
HxD로 확인해본 결과 Offset의 크기가 E 1036으로 나왔다.
00 01 바이트는 B,M
Signature : BM (42 4D)
size : 00 0E 10 36
reserve : 00 00 00 00
offset : 00 00 00 36
infoHeader.Size = 00 00 00 28 (10진수 40)
infoHeader.Width = 80 02 00 00 (10진수 640)
infoHeader.Height = E0 01 00 00 (10진수 480)
infoHeader.Planes = 00 01(10진수 1)
3중 배열을 통한 색 배열 파일 생성
HORIZONTAL을 추가하여 만든 bmp_generator로 생성한 EBU 컬러바
img size : 640 x 480
EBU 컬러바를 grayscale로 변경한 모습
grey = 0.3 * r + 0.59 * g + 0.11 * b;
visual stdio 2019 - (7단원 예제풀이) (0) | 2023.09.15 |
---|---|
visual stdio 2019 - (6단원 예제풀이) (0) | 2023.09.15 |
visual stdio 2019 - (5단원 예제풀이) (0) | 2023.09.15 |
visual stdio 2019 - (4단원 예제풀이) (0) | 2023.09.15 |