NAME
High_Freq_Emphasis - performs high frequency emphasis
filtering
SYNOPSIS
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "CVIPdef.h"
#include "CVIPimage.h"
#include <CVIPtransform.h>
#include <CVIPxformfilter.h>
Image *High_Freq_Emphasis(Image *in_Image,int block_size,int
dc,int Cutoff,float alfa,int order)
<in_Image> - pointer to an Image structure
<block_size> - desired block size
<dc> - drop(0) or retain(1) dc component
<Cutoff> - cutoff frequency
<alfa> - a constant (typically 1.0 to 2.0)
<order> - filter order
PATH
$CVIPHOME/XFORMFILTER/filter.c
DESCRIPTION
High_Freq_Emphasis() performs a two-dimensional high fre-
quency emphasis filtering in transform domain on input
image.It is implemented by adding a constant to a butter-
worth high pass filter transfer function. This preserves the
low frequency components of the image and at the same time,
amplifies the high-frequency components. The result of this
process is better tonality in the final image. The cut-off
frequency cutoff and filter order <order> is for the butter-
worth high pass filter used in this high frequency emphasis
filter. Experiment revealed that the constant alfa in the
range of 1.0 to 2.0 yields good result. If dc equals 1, the
dc component will be retained, if it equals 0, the dc com-
penent will be dropped.
TYPES AND CONSTANTS
None
RETURN VALUES
A filtered image
HISTORY
History information recorded: None
EXAMPLE
#include <CVIPtoolkit.h>
#include <CVIPimage.h>
#include <CVIPdef.h>
#include <CVIPconvert.h>
#include <CVIPview.h>
#define VIEWER "picture"
#define VIDEO_APP "SunVideo &"
void main()
{
Image *cvipImage;
IMAGE_FORMAT format;
char *inputfile,*outputfile;
(void) 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 performs the fft_transform on the
input image with the block size equal to 256 */
cvipImage=(Image *)fft_transform(cvipImage,256);
/* the following call performs the high frequency emphasis
on the transformed image with the cut off frequency equal
to 64 and alpha equal to 1.2 */
cvipImage = (Image *)High_Freq_Emphasis(cvipImage,256,1,
64,1.2,2);
/* the following call performs the inverse fft_transform in
the filtered image with the block size equal to 256 */
cvipImage = (Image *)ifft_transform(cvipImage,256);
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
libxformfilter
AUTHOR
Copyright (C) 1996 SIUE - by Scott E. Umbaugh and Simon Low.