TAD功能中的分段故障

时间:2017-04-07 10:52:04

标签: c

我需要创建一个TAD来读取PGM图像,进行卷积操作并输出该图像,实现这些功能:

/ ***********************我实现了以下

1 个答案:

答案 0 :(得分:1)

new_img[img->lin+2][0]=img->img[img->lin+1][1];//inferior esquerdo
new_img[0][img->col+2]=img->img[1][img->col+1];//superior direito
new_img[0][0]=img->img[1][1];//superior esquerdo
new_img[img->lin+2][img->col+2]=img->img[img->lin+1][img->col+1];//inferior direito
new_img标注为

时,

看起来不对

unsigned char new_img[img->lin+2][img->col+2];

因此您只能在第一个索引上访问img->lin+1,在第二个索引上访问img->col+1。同样地,img->img的维度为img->linimg->col,因此您也已经超出界限。

此外,看起来你有一个拼写错误

    if(somatorio<=0) saida->img[contador1-1][contador2-1]=0;
        else if(somatorio>=255) saida->img[contador1-1][contador2-1]=255;
            else saida->img[contador1-1][contador1-1]=somatorio;

最后一行看起来应该有contador2-1作为第二个数组索引。