如何用C语言对图像加入高斯噪声和椒盐噪声?
最好有噪声公式和源码下边是一个反色的源程序,麻烦改几个函数,加入高斯噪声和椒盐噪声#include<stdio.h>#include<stdlib.h>#include<...
最好有噪声公式和源码
下边是一个反色的源程序,麻烦改几个函数,加入高斯噪声和椒盐噪声
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Width 256
#define Height 256
main()
{
FILE *FileOpen(),*in,*out;
unsigned char *image0,*image1;
unsigned char head[1078];
int i,j,nLen;
image0=(unsigned char *)malloc(Width*Height);
image1=(unsigned char *)malloc(Width*Height);
in=FileOpen("pgirl.bmp","rb");
out=FileOpen("pgirlr.bmp","wb");
fread(head,1078,1,in);
fwrite(head,1078,1,out);
fread(image0,Width*Height,1,in);
for(i=0;i<Width;i++)
for(j=0;j<Height;j++)
{
nLen=i*Width+j;
image1[nLen]=255-image0[nLen];
}/*反色,或者在这里进行自己的处理*/
fwrite(image1,Width*Height,1,out);
fclose(in);
fclose(out);
/*Display the result*/
free(image0);
free(image1);
return 0;
} 展开
下边是一个反色的源程序,麻烦改几个函数,加入高斯噪声和椒盐噪声
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define Width 256
#define Height 256
main()
{
FILE *FileOpen(),*in,*out;
unsigned char *image0,*image1;
unsigned char head[1078];
int i,j,nLen;
image0=(unsigned char *)malloc(Width*Height);
image1=(unsigned char *)malloc(Width*Height);
in=FileOpen("pgirl.bmp","rb");
out=FileOpen("pgirlr.bmp","wb");
fread(head,1078,1,in);
fwrite(head,1078,1,out);
fread(image0,Width*Height,1,in);
for(i=0;i<Width;i++)
for(j=0;j<Height;j++)
{
nLen=i*Width+j;
image1[nLen]=255-image0[nLen];
}/*反色,或者在这里进行自己的处理*/
fwrite(image1,Width*Height,1,out);
fclose(in);
fclose(out);
/*Display the result*/
free(image0);
free(image1);
return 0;
} 展开
1个回答
晓网科技
2024-10-17 广告
2024-10-17 广告
ZigBee作为一项新型的无线通信技术,其具有传统网络通信技术所不可比拟的优势,既能够实现近距离操作,又可降低能源的消耗。又如,相较于蓝牙等无线通信技术,ZigBee无线通信技术可有效降低使用成本, 即便数据处理的速率并不高,然而,值得肯定...
点击进入详情页
本回答由晓网科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询