c++读取pgm地图灰度值
时间: 2023-11-29 08:03:34 浏览: 51
可以使用以下代码读取pgm地图灰度值:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_WIDTH 1024
#define MAX_HEIGHT 1024
#define MAX_GRAY 255
int main() {
char file_name[100];
int width, height, max_gray, gray;
int i, j;
int map[MAX_WIDTH][MAX_HEIGHT];
printf("请输入pgm地图文件名:");
scanf("%s", file_name);
FILE* fp = fopen(file_name, "r");
if (fp == NULL) {
printf("文件打开失败!\n");
return 0;
}
// 读取pgm头部信息
char magic_number[3];
fscanf(fp, "%2s", magic_number);
if (magic_number[0] != 'P' || magic_number[1] != '5') {
printf("不是pgm文件!\n");
return 0;
}
fscanf(fp, "%d%d%d", &width, &height, &max_gray);
if (max_gray != MAX_GRAY) {
printf("不是8位灰度图!\n");
return 0;
}
fgetc(fp); // 读取换行符
// 读取像素灰度值
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
gray = fgetc(fp);
map[j][i] = gray;
}
}
fclose(fp);
// 输出地图灰度值
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
printf("%d ", map[j][i]);
}
printf("\n");
}
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)