Specifications

Linear Image Transforms
7-5
7
Discussion
The function iplRealFft2D() performs an FFT on each channel in the
specified rectangular ROI of the input image
srcImage
and writes the
Fourier coefficients in
RCPack2D format into the corresponding channel of
the output image
dstImage
. The output data will be clamped (saturated) to
the limits
Min and Max, which are determined by the data type of the output
image. For best results, use 32-bit data or, at least, 16-bit data.
Example 7-1 Computing the FFT of an Image
/*-------------------------------------------------
; Matlab example
» rand('seed',12345); x=round(rand(4,4)*10), fft2(x)
89 10-7i -9 10+7i
-1 + 6i 8 -21i 13 + 2i -8 - 3i
-3 10+1i 3 10-1i
-1 - 6i -8 + 3i 13 - 2i 8 +21i
// Result of iplRealFft2D function:
89 10 -7 -9
-1 8 -21 13
61012
-3 -8 3 3
--------------------------------------------------*/
int example71( void ) {
IplImage *imga, *imgb; int i;
const int src[16] = {
9, 7, 4, 1, 7, 5, 1, 7,
6, 6, 1, 9, 3, 10, 9, 4};
__try {
imga = iplCreateImageHeader(
1, 0, IPL_DEPTH_8U, "GRAY", "GRAY",
IPL_DATA_ORDER_PIXEL, IPL_ORIGIN_TL,
IPL_ALIGN_DWORD, 4, 4, NULL, NULL,
NULL, NULL);
continued