고수님들 봐주세요~
아담
히스토그램 구현하는 건데요~ 잘 이해가 안되네요
설명좀 부탁드려요
void main()
{
FILE *fpin, *fpout, *fphisto;
fpin=fopen(MIT_512x512.raw,rb);
fphisto=fopen(MIT_histo.raw,wb);
fpout=fopen(MIT_sobel.raw,wb);//파일 입출력
unsigned char pinput[256*256];
unsigned char poutput[256*256];
unsigned char histo[256*256];//변수 정의
fread(pinput,1,256*256,fpin);
int i,j;// 좌표변수
int n[256];// 레벨 변수
int n_result[256];
int n_1,n_2;
int k,k_1;// 값들 변화
int CompareArray(int a[], int b[],int n);//함수 실행
for (n_1=0;n_1256;n_1++)
{
n[0]=0;
n[n_1]=n[n_1-1]+1;
}//값 대입
for(k=0;k256*256;k++)
{
int n=256
CompareArray(int pinput[k], int n[k],int n)
n_result[256]++;
}}
int CompareArray(int a[], int b[],int n) // 값을 비교
{
int i;
for (i=0;in;i++)
{
if (a[i] != b[i])
return 0;
}
return 1;
}
밑에서 값을 비교하는 함수를 만들었는데 그걸 어떻게 써야하는 줄 잘 모르겠어요
같은 값의 개수를 배열에 넣기만 하면 되는데...ㅡ,ㅜㅋ
고수님들 확인 부탁드려요~
-
황소눈 2024-05-04
감사합니다~ㅎㅎ
-
바로찬글 2024-05-04
for(k=0;k256*256;k++)
{
int n=256
CompareArray(int pinput[k], int n[k],int n)
n_result[256]++;
}
이걸 아래와 같이 하면 간단해 지는데요. ^^
비교함수도 필요가 없어지네요.
int i, j;
for(i = 0; i 256; i++)
{
for(j = 0; j 256*256; j++)
{
if(pinput[j] == n[i])
n