rendered paste bodyfor(int y=1; y<bayerImg->height-2; y++){
for(int x=1; x<bayerImg->width-2; x++){
linear_interpolation(bayerImg, debayerImg,x,y);
}
}
void linear_interpolation (IplImage* img, IplImage* dest, int x, int y) {
CvScalar pixel, pixel_before, pixel_after, pixel_up, pixel_down;
pixel = cvGetAt(img, y,x);
pixel_before = cvGetAt(img, y,x-1);
pixel_after = cvGetAt(img, y,x+1);
pixel_up = cvGetAt(img, y+1,x);
pixel_down = cvGetAt(img, y-1,x);
for (int i = 0; i<=2;i++) {
pixel.val[i] = 0.5*(pixel_before.val[i] + pixel_after.val[i] + pixel_up.val[i] + pixel_down.val[i]);
}
cvSetAt(dest, pixel, y, x);
}