![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
module demonstrating the computation of local variance on a 2d image More...
module demonstrating the computation of local variance on a 2d image
This application computes the local variance image on a 2d input image loaded from a given input TIFF file, and saves the result in a given TIFF file.
The application can be called through a command line as follows:
<application_exe_filename> [--inputImgFilePath <input_image_file_path>] [--outputImgFilePath <output_image_file_path>] [--inHalfKnlSizeX <input_half_kernel_x_size_value>] [--inHalfKnlSizeY <input_half_kernel_y_size_value>]
Arguments:
--inputImgFilePath optional; specifies the name of the TIFF file, from
which the 2d input image will be loaded; if not
specified by the user, the input image is loaded from
file
<DEV_ROOT>/data/Sample/images/Lena_510x509_UInt8.tif
--outputImgFilePath optional; specifies the name of the TIFF file, in
which the 2d output image resulting from variance
computation will be saved; if not specified by the
user, the output image is saved in file
<TEMPORARY_IPSDK_DIR>/Sample/variance.tif
--inHalfKnlSizeX optional; specifies the half size, along x axis, of
kernel used to compute the variance image; default
value equals to 1
--inHalfKnlSizeY optional; specifies the half size, along y axis, of
kernel used to compute the variance image; default
value equals to 1Here is a snapshot of default input image used by the application and of corresponding output image when application is launched without any argument:
The sequence of operations executed in this application is very similar to what is done in Lightness sample application:
Start by including all the necessary header files:
In the main function body, we start by asking to display all the log messages generated by IPSDK libraries and by our application itself to the application console:
Next, we initialize the IPSDK environment:
Then we declare objects 'inImgFilePath' and 'outImgFilePath':
We also declare 2 variables, that will store the half dimensions, in X and Y, of the kernel used to compute the local variance
Paths and kernel dimensions values are updated from the command line, by calling function "readCmdArguments":
And we load our input image from the associated TIFF file:
Once all input parameters are initialized, we compute the local variance image by calling the function "ipsdk::imaproc::stats::variance2dImg".
The resulting output image is then saved to the TIFF file specified in object "outImgFilePath":
Finally, we clean IPSDK environment and exit:
See the full source listing
1.8.14