double *original_gray(double *R_original_img, double *G_original_img, double *B_original_img)
{
unsigned long height = 0;
unsigned long width = 0;
height = srcBI.biHeight;
width = srcBI.biWidth;
unsigned long h_B = 0;
unsigned long w_B = 0;
h_B = height / BSIZE;
w_B = width / BSIZE;
unsigned long i = 0;
unsigned long j = 0;
double *original_gray_img = NULL;
original_gray_img = (double *)malloc(height * width * 10);
for ( i = 0; i < h_B; i++)
{
for ( j = 0; j < w_B; j++)
{
unsigned long p = 0;
unsigned long q = 0;
//double original_gray_pix;
//original_gray_pix = (R_original_img[i * w_B * BSIZE * BSIZE + j * BSIZE] +G_original_img[i * w_B * BSIZE * BSIZE + j * BSIZE] +B_original_img[i * w_B * BSIZE * BSIZE + j * BSIZE])/3;
for ( p = 0; p < BSIZE; p++)
{
for ( q = 0; q < BSIZE; q++)
{
original_gray_img[i * w_B * BSIZE * BSIZE + p * width + j * BSIZE + q] =(R_original_img[i * w_B * BSIZE * BSIZE + p * width + j * BSIZE + q] +G_original_img[i * w_B * BSIZE * BSIZE + p * width + j * BSIZE + q] +B_original_img[i * w_B * BSIZE * BSIZE + p * width + j * BSIZE + q])/3;// original_gray_pix;
}
}
}
}
return original_gray_img;
}
具体哪一行出错?检查下指针和数组越界