c - 在 C 中保存 PGM 图像
问题描述
我有一个 230x230 的数组,其中包含值:零(黑色像素)和从 25 到 1200 的值。我想将此数组保存为 PGM 图像。
我制作了图像标题:P5、230x230、255(作为最大值),并且我写了数组值而不改变。这给了我图像,但看起来不太正确(很多白色区域 - 第二张图像)
所以,我认为我应该对这些值进行一些缩放。同样,我将所有值重新调整为 0-255,但这给了我完全黑色的图像。
有什么建议可以正确解决这个问题吗?我附上了所需的图像(1)和我已经获得的图像(2)。
在下面找到我使用的代码:
void write_pgm(double **u, long nx, long ny, char *file_name) {
int i, j;
unsigned char byte;
FILE *outimage = fopen(file_name, "wb");
fprintf(outimage, "P5\n"); /* format */
fprintf(outimage, "%ld %ld\n", nx, ny); /* image size */
fprintf(outimage, "255\n"); /* maximal value */
for (j = 0; j < ny; j++) {
for (i = 0; i < nx; i++) {
byte = (unsigned char) (u[i][j]);
fwrite(&byte, sizeof(unsigned char), 1, outimage);
}
}
fclose(outimage);
return;
}
谢谢你。
解决方案
推荐阅读
- spring-boot - 无论如何要在 Oauth2 客户端 api Spring Boot 中配置授权注销 url
- javascript - 如何在 javascript 中使用斜杠 / 在 URL 中传递值
- html - 显示 django admin 而不是我的 html
- c# - 在 .NET5 中使用 System.DirectoryServices.Protocols 获取 LDAP TokenGroups
- javascript - JavaScript 在 Shiny 的模态中不起作用
- javascript - 如何在布局页面中的另一个脚本之前执行脚本文件?
- javascript - Prop 可能是 Vue 3 设置中的未定义错误
- c# - 解析具有超出范围值的枚举时的奇怪行为
- python - 当前路径,accounts/login/",与其中任何一个都不匹配
- google-apps-script - Clickup 按列表中的状态获取任务