我必须编写一个程序,读取文本二进制图像1和0,然后根据用户的选择对图像执行各种操作。我相信我对大部分程序都很满意,我能够读入文件并显示出来。
为了继续,我需要将图像保存到2D阵列,这就是我一直坚持的。
下面是我整个程序的一个小样本,因为它的其余部分目前都在工作,这是我试图弄清楚的一点,但在继续搜索和视频后,我一辈子都无法弄清楚这一点,也弄不清楚我到底出了什么错。
#define N 50
int imageArray [N][N];
int row, col;
int value;
char filename[30];
FILE *ptr_file;
printf("Enter the full name of the input file: ");
scanf("%s", filename);
ptr_file = fopen(filename, "r");
for(row = 0; row < N; row++){
for(col = 0; col < N; col++){
fscanf(ptr_file, "%d", &value);
imageArray[row][col] = value;
}
}
for(row = 0; row < N; row++){
for(col = 0; col < N; col++){
printf("%d", imageArray[N][N]);
}
printf("\n");
}
我试图保存到2D阵列的图像都是50x50,包含在txt文件中。
上面的代码当前输出所有0。图像的背景由0组成,而图像本身由1组成。
下面是一个
超小型版本
关于我试图保存到阵列中的内容,请将其想象为50x50!由于某种原因,我无法将完整图像粘贴到这里,因为它重新格式化了它。但它应该给出一个想法。
0000000
0001000
0011100
0111110
0011100
0001000
0000000
提前感谢您阅读本帖!