матрица понижающей дискретизации C - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть 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;
}

но если я нарисую тепловую карту выходных данных, это показывает, что входные данные повторяются дважды, что я не прав?

...