NAME
gamma_noise - Add gamma noise to an image
SYNOPSIS
#include "CVIPnoise.h"
Image *gamma_noise(Image *imageP,float *var,int *alpha);
<imageP> - pointer to Image structure
<var> - variance of noise distribution
<alpha> - alpha parameter distribution (see equation)
PATH
$CVIPHOME/NOISE/noise.c
DESCRIPTION
Gamma type noise is the result of low-pass filtering of an
image containing negative exponential noise as the result of
acquiring an image which is illuminated by a coherent laser.
It's histogram is defined as follows:
Gi^(alpha-1)
hi = -----------------exp(-(Gi/a))
(alpha-1)!a^alpha
where Gi is the grey-level value of the ith pixel, a*a*alpha
is the variance, and alpha determines the shape of the his-
togram: aplha=1 gives a negative exponential histogram, and
alpha=infinity gives a Gaussian histogram.
RETURN VALUES
The gamma_noise() function returns the modified Image
pointer on success, and returns a NULL pointer on failure
BUGS
none
EXAMPLE
#include <CVIPtoolkit.h>
#include <CVIPimage.h>
#include <CVIPconvert.h>
#include <CVIPview.h>
#include "CVIPnoise.h"
#define VIEWER "picture"
#define VIDEO_APP "SunVideo &"
void main()
{
Image *cvipImage;
IMAGE_FORMAT format;
char *inputfile,*outputfile;
float var=100.0;
int alpha=2;
setDisplay_Image(VIEWER, "Default");
print_CVIP("\n\t\tEnter the Input File Name: ");
inputfile =(char *) getString_CVIP();
format = getFormat_CVIP(inputfile);
cvipImage = read_Image(inputfile, 1);
view_Image(cvipImage, inputfile);
free(inputfile);
/* the following call adds gamma noise to the input
image with the variance equal to 100.0 and the
factor alpha equal to 2.We can use the function
gamma_noise_setup so that the user can specify
the inputs */
cvipImage = gamma_noise(cvipImage,&var,&alpha);
print_CVIP("\n\t\tEnter the Output File Name: ");
outputfile = getString_CVIP();
view_Image(cvipImage,outputfile);
write_Image(cvipImage,outputfile,CVIP_NO,CVIP_NO,format,1);
free(outputfile);
}
SEE ALSO
gaussian_noise(3), neg_exp_noise(3), rayleigh_noise(3),
speckle_noise(3), uniform_noise(3)
AUTHOR
Copyright (C) 1992, 1996 SIUE - by Scott E. Umbaugh and
David Lyons.