大家下午好。首先,我想为我的代码道歉 - 我是一个真正的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位样本。 –