IPSDK 0.2
IPSDK : Image Processing Software Development Kit
imageabsImg (inImg)

Detailed Description

computation of the absolute value of an image, pixel by pixel algorithm

On output image values are given by:

\[ OutImg[i] = \lvert InImg[i]\rvert \]

, with

\[ \lvert InImg[i]\rvert = \begin{cases} InImg[i], & \text{if }InImg[i] \geq 0 \\ -InImg[i], & \text{otherwise} \end{cases} \]

Input and output images must have same size.

Example of Python code :

Example imports

import PyIPSDK
import PyIPSDK.IPSDKIPLArithmetic as arithm

Code Example

# opening of input image
geometry = PyIPSDK.geometry2d(PyIPSDK.eImageBufferType.eIBT_Int8, 510, 509)
inImg = PyIPSDK.loadRawImageFile(inputImgPath, geometry)
# computation of image absolute value
outImg = arithm.absImg(inImg)

Example of C++ code :

Example informations

Header file

#include <IPSDKIPL/IPSDKIPLArithmetic/Processor/AbsImg/AbsImg.h>

Code Example

// open input image
ImageGeometryPtr pInputImageGeometry = geometry2d(inType, sizeX, sizeY);
ImagePtr pInImg = loadRawImageFile(inPath, *pInputImageGeometry);
// Sample with a generated output image
// ------------------------------------
// compute absolute value of input image
ImagePtr pAutoOutImg = absImg(pInImg);
// Sample with a provided output image
// -----------------------------------
// create output image
ImageGeometryPtr pOutputImageGeometry = geometry2d(outType, sizeX, sizeY);
boost::shared_ptr<MemoryImage> pOutImg(boost::make_shared<MemoryImage>());
pOutImg->init(*pOutputImageGeometry);
// compute absolute value of input image
absImg(pInImg, pOutImg);