![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
module demonstrating how to achieve a processing duration benchmark for an IPSDK library algorithm More...
module demonstrating how to achieve a processing duration benchmark for an IPSDK library algorithm
This application computes the local entropy 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>] [--inOptNbClasses <input_number_of_classes>]
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 entropy
computation will be saved; if not specified by the
user, the output image is saved in file
<TEMPORARY_IPSDK_DIR>/Sample/benchmark.tif
--inHalfKnlSizeX optional; specifies the half size, along x axis, of
kernel used to compute the entropy image; default
value equals to 3
--inHalfKnlSizeY optional; specifies the half size, along y axis, of
kernel used to compute the entropy image; default
value equals to 3
--inOptNbClasses optional; specifies the number of classes used to
compute the entropy image; default
value equals to 16Start 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 entropy and a third one that will store the number of classes used during processing.
Paths, kernel dimensions values and number of classes value 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 entropy image by calling the function "ipsdk::imaproc::stats::localEntropy2dImg".
Note that this call is surrounded by a chronometer start and by the corresponding elapsed time retrieval.
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