gpt4 book ai didi

c - 将二维数组写入文件图像的最快方法?

转载 作者:行者123 更新时间:2023-11-30 15:39:42 25 4
gpt4 key购买 nike

我有一个简单的二维数组,如下所示:

unsigned char myArray[100][100];

我不需要任何高级图像处理,我只需要将此图像(灰度级)写入文件中(可以是任何图像格式)。

我想我可以使用图像格式:.ppm ( http://rosettacode.org/wiki/Bitmap/Write_a_PPM_file#C ),如下所示:

 (void) fprintf(fp, "P6\n%d %d\n255\n", dimx, dimy);
for (j = 0; j < dimy; ++j)
{
for (i = 0; i < dimx; ++i)
{
static unsigned char color[3];
color[0] = i % 256; /* red */
color[1] = j % 256; /* green */
color[2] = (i * j) % 256; /* blue */
(void) fwrite(color, 1, 3, fp);
}
}

我可以为 RGB 写入相同的值来模拟灰度图像,但有更好的选择吗?

最佳答案

您可以使用比 PPM 更常见的 TGA 格式,并且允许真实的灰度图像。拯救它们非常容易。准备一个包含 9 个元素的数组:

uint16 header[9]

写入:0, 3, 0, 0, 0, 0, 宽度, 高度, 8

fwrite 这 18 个字节,然后一次性写入 100x100 数组。仅此而已。

关于c - 将二维数组写入文件图像的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21351159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com