大家下午好。首先,我想爲我的代碼道歉 - 我是一個真正的C初學者。我的問題是 - 我給了ppm文件,我需要將值從那裏存儲到數組中。我已經存儲了顏色的高度,寬度和最大值,現在我的想法是存儲一個值,如圖所示 - 乘以三是因爲它是R G B格式。 感謝您的幫助和購買海外商品會有其實我在C.一個真正的初學者來自ppm文件的圖像卷積
#include <stdio.h>
int main(int argc, char** argv) {
int i = 0;
int j = 0;
FILE *fp;
fp = fopen(argv[1], "r");
printf(" %s ", argv[1]);
printf("\n");
int firstLine[2];
int width;
int next;
int enter;
int loop;
int height;
int max_color;
int pix[width][height];
int mask[3][3] = {// inicializting our given mask
{0, -1, 0},
{-1, 5, -1},
{0, -1, 0}
};
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", mask[i][j]);
}
printf("\n");
}
fscanf(fp, "%s", &firstLine);
fscanf(fp, "%d", &height);
fscanf(fp, "%d", &width);
fscanf(fp, "%d", &max_color);
printf("%p", firstLine);
printf("\n");
printf("%d ", width);
printf("\n");
printf("%d", height);
printf("\n");
printf("%d", max_color);
printf("\n");
for (i = 0; i < width * 3; i++) {
for (j = 0; j < height * 3; j++) {
loop = fscanf(fp, "%d", &enter);
pix[i][j] = enter;
printf("%d ", enter);
}
}
// fclose(fp);
return (EXIT_SUCCESS);
}
請不要使用圖片分享代碼! :)請複製並粘貼在這裏或一個pastebin。 – fluter
對不起,我是初學者,所以我現在就做。謝謝 – user118331
不知道是否被告知假設8位R,G和B採樣,但從技術上講,在假設之前你應該檢查'MAX_INTENSITY'是255,如果超過255(最可能等於65535),你應該讀取16位樣本。 –