|
bmp파일을 읽어서 bmp파일에 그려져 있는 색깔을 나타내는 것입니다.
색깔은 RGB로 흰색은 0 검은색 255이구요
이것을 읽어드려서 0~255이 몇번 나왔나?를 구하는 것입니다
나름대로 짜 보았는데..
잘 되지 않는군요..
실행 시키면 byte보다 큰 값이 나오는 군요..
#define size 1
#define n 1
FILE *fptr;
int Al_array[256];
void main()
{
int i = 0;
int data,read;
char list[4];
char temp[2];
//int n;
// fopen으로 bmp파일 읽습니다. 이 파일의 크기는 576KB이구요
if((fptr = fopen('C:\\project\\trangle.bmp','r')) != NULL)
{
printf('start\n');
//fread함수로 1byte씩 읽습니다.
while(( read = fread(list, size,n, fptr)) != NULL)
{
if( list[i] != '\0')
{
//data = list[0];
temp[i] = list[i];
data = atoi(temp);
if( data >= 0 && data <= 255)
{
// 빈도수 증가
++Al_array[data];
}
}
}
}
else
{
printf('error');
}
// 빈도수 나타내기
for( i = 0; i < 256 ; i++)
printf('%2d : %10d\n', i, Al_array[i]);
fclose(fptr);
}
|