gpt4 book ai didi

c - 用 C 缩放图像

转载 作者:太空宇宙 更新时间:2023-11-04 05:15:35 25 4
gpt4 key购买 nike

我正在尝试读取图像文件并通过将每个字节乘以某个绝对因子的像素级别来缩放它。不过,我不确定我做对了 -

void scale_file(char *infile, char *outfile, float scale)
{
// open files for reading
FILE *infile_p = fopen(infile, 'r');
FILE *outfile_p = fopen(outfile, 'w');

// init data holders
char *data;
char *scaled_data;

// read each byte, scale and write back
while ( fread(&data, 1, 1, infile_p) != EOF )
{
*scaled_data = (*data) * scale;
fwrite(&scaled_data, 1, 1, outfile);
}

// close files
fclose(infile_p);
fclose(outfile_p);
}

让我感兴趣的是如何进行每个字节的乘法运算(比例为 0-1.0 float )——我很确定我要么读错了,要么漏掉了一些重要的东西。此外,假定数据是无符号的 (0-255)。请不要评判我糟糕的代码:)

谢谢

最佳答案

char *data;
char *scaled_data;

没有为这些指针分配内存 - 为什么需要它们作为指针? unsigned char 变量就可以了(unsigned 因为它对字节数据更有意义)。

此外,当秤将值超出 256 范围时会发生什么情况?您想要饱和度、环绕还是什么?

关于c - 用 C 缩放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2393026/

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