gpt4 book ai didi

c - 使用 C 中的极坐标方法向帧添加噪声

转载 作者:行者123 更新时间:2023-11-30 18:10:51 27 4
gpt4 key购买 nike

我编写了一个程序,它可以读取原始 YUV 文件并将均值为 0 的高斯噪声添加到修改后的文件中。问题是我不知道如何在主函数上实现 Polar 函数,当我尝试它总是生成错误时。任何人有任何想法可以解决我的问题。谢谢

void polar(double *x1, double *x2)
{
double u, v, q, p;

do {
u = 2.0 * random() - 1;
v = 2.0 * random() - 1;
q = u * u + v * v;
} while (q >= 1.0 || q == 0.0);

p = sqrt(-2 * log(q) / q);
*x1 = u * p;
*x2 = v * p;
}

int main(void)
{
FILE *fp1, *fp2;
int a;
double a1,a2;
fp1= fopen("FOOTBALL_352x288_30_orig_01.yuv","rb");
fp2= fopen("FOOTBALL_352x288_30_orig_02.yuv","wb");


int tab[10]="";

while(!feof(fp1))
{
fread(tab,sizeof(int),1,fp1);
fwrite(tab,sizeof(int),1,fp2);
}

fclose(fp1);
fclose(fp2);

return 0;
}

最佳答案

极性函数需要两个 double 的地址作为输入。如果您声明将a1a2传递给极性,则可以调用极性(&a1,&a2)polar 函数在返回时将设置 a1a2。要检查这一点,请尝试在调用 polar 函数之前和之后打印这些变量。

关于c - 使用 C 中的极坐标方法向帧添加噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54537624/

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