![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
module demonstrating the automatic binarization on a grey-level image using Otsu's method More...
module demonstrating the automatic binarization on a grey-level image using Otsu's method
This application applies Otsu's binarization on a grey-level 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>]
Arguments:
--inputImgFilePath optional; specifies the name of the TIFF file, from
which the 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 output image resulting from the
Otsu's binarization will be saved;
if not specified by the user, the output image is
saved in file
<TEMPORARY_IPSDK_DIR>/Sample/otsu.tifHere 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':
Paths and standard deviation values are updated from the command line, by calling function "readCmdArguments":
And we load our input image from the associated TIFF file:
After that, we binarize the input image by calling the function "ipsdk::imaproc::bin::otsuThresholdImg". This function returns an object of type OtsuResult. We store its attribute _pOutImg, of type ImagePtr, in our variable pOutImg.
The 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