У меня есть 1280x720 буферизованная матрица , и я хотел бы реализовать метод понижающей дискретизации, который берет одну выборку каждые 9 в обоих направлениях.
Например:
12222222122222221222222212222222222222122222221222222221222222221 .......
111111 .....
поэтому я реализую этот метод:
int16_t* resample(int16_t *in_b){
int scale=9,W=1280,H=720;
int w=W/scale;
int h=H/scale;
int16_t *out_b=(int16_t*)malloc(w*h*sizeof(int16_t));
for (i=0;i<h;i++){
for (j=0;j<w;j++){
out_b[i*w+j]=in_b[(i*W*scale)+(j*scale)];
}
}
return out_b;
}
но если я нарисую тепловую карту выходных данных, это показывает, что входные данные повторяются дважды, что я не прав?