![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
algorithm allowing to unroll surface of a ring More...
| IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr | ipsdk::imaproc::gtrans::unrollRingImg (const image::ImageConstPtr &pInImg, const attr::Coords2dConstPtr &pInCenter2d, const ipReal64 inRadius, const ipUInt32 inRingHalfThickness, const ipUInt64 inOptOutSizeX) |
| wrapper function for ring surface unrolling More... | |
| IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr | ipsdk::imaproc::gtrans::unrollRingImg (const image::ImageConstPtr &pInImg, const attr::Coords2dConstPtr &pInCenter2d, const ipReal64 inRadius, const ipUInt32 inRingHalfThickness, const ipReal64 inOptTheta0, const attr::eInterpolationPolicy &inOptInterpolationPolicy, const ipUInt64 inOptOutSizeX) |
| wrapper function for ring surface unrolling More... | |
| IPSDKIPLGEOMETRICTRANSFORM_API void | ipsdk::imaproc::gtrans::unrollRingImg (const image::ImageConstPtr &pInImg, const attr::Coords2dConstPtr &pInCenter2d, const ipReal64 inRadius, const ipUInt32 inRingHalfThickness, const ipReal64 inOptTheta0, const attr::eInterpolationPolicy &inOptInterpolationPolicy, const image::ImagePtr &pOutImg) |
| wrapper function for ring surface unrolling More... | |
algorithm allowing to unroll surface of a ring
This algorithm allows to unroll surface of a ring into an image to a rectangular image area.
Given an input image
, and the following information :
: center for considered ring (x and y coordinates)
: radius for considered ring
: half thickness for considered ring
: an optional starting angle for unrolling process (with null default value)
: an optional interpolation policy used during unrolling process (see ipsdk::imaproc::attr::eInterpolationPolicy for more informations)algorithm will compute the unrolled surface of considered ring with respect to following figure :
Output image can be automatically created, in this case, user must setup
parameter.
Here is an example of application of UnrollRingImg algorithm on a 2d image :
Here is an other example of application of UnrollRingImg algorithm on a 2d image :
This algorithm can also be used on 3d cylinder oriented with respect to z axis :
Attribute description for algorithm :
| Name | ToolTip | Default Initializer |
|---|---|---|
| ipsdk::imaproc::attr::InImg | [Input] image for processing operation | X |
| ipsdk::imaproc::attr::InCenter2d | [Input] 2d center | X |
| ipsdk::imaproc::attr::InRadius | [Input] Radius | X |
| ipsdk::imaproc::attr::InRingHalfThickness | [Input] half thickness for ring used during processing | X |
| ipsdk::imaproc::attr::InOptTheta0 | [Input Optional] starting angle offset value, in radians | X |
| ipsdk::imaproc::attr::InOptInterpolationPolicy | [Input Optional] interpolation policy used to extract local data from image | X |
| ipsdk::imaproc::attr::InOptOutSizeX | [Input Optional] size of output image along x-axis | X |
| ipsdk::imaproc::attr::InOptTargetTile2dSideLength | [Input Optional] target processing size for tile 2d (side length) | X |
| ipsdk::imaproc::attr::OutImg | [Output] image for processing operation | customOutput (_pOutImg, outputUnrollRing(_pInImg,_pInOptOutSizeX,_pInRingHalfThickness)) |
Global rule description for algorithm :
ipsdk::imaproc::matchSize (eMatchImageSizeType::eMIST_ZCT,_pInImg,_pOutImg) &&
ipsdk::imaproc::matchBufferType (_pInImg,_pOutImg) &&
ipsdk::imaproc::gtrans::wholeRingIsInsideImg (_pInImg,_pInCenter2d,_pInRadius,_pInRingHalfThickness) &&
ipsdk::imaproc::customImageProperty (_pOutImg,
ipsdk::imaproc::gtrans::matchUnrollingOutput (_pOutImg,_pInOptOutSizeX,_pInRingHalfThickness))
| IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::unrollRingImg | ( | const image::ImageConstPtr & | pInImg, |
| const attr::Coords2dConstPtr & | pInCenter2d, | ||
| const ipReal64 | inRadius, | ||
| const ipUInt32 | inRingHalfThickness, | ||
| const ipUInt64 | inOptOutSizeX | ||
| ) |
wrapper function for ring surface unrolling
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLGEOMETRICTRANSFORM_API image::ImagePtr ipsdk::imaproc::gtrans::unrollRingImg | ( | const image::ImageConstPtr & | pInImg, |
| const attr::Coords2dConstPtr & | pInCenter2d, | ||
| const ipReal64 | inRadius, | ||
| const ipUInt32 | inRingHalfThickness, | ||
| const ipReal64 | inOptTheta0, | ||
| const attr::eInterpolationPolicy & | inOptInterpolationPolicy, | ||
| const ipUInt64 | inOptOutSizeX | ||
| ) |
wrapper function for ring surface unrolling
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
| IPSDKIPLGEOMETRICTRANSFORM_API void ipsdk::imaproc::gtrans::unrollRingImg | ( | const image::ImageConstPtr & | pInImg, |
| const attr::Coords2dConstPtr & | pInCenter2d, | ||
| const ipReal64 | inRadius, | ||
| const ipUInt32 | inRingHalfThickness, | ||
| const ipReal64 | inOptTheta0, | ||
| const attr::eInterpolationPolicy & | inOptInterpolationPolicy, | ||
| const image::ImagePtr & | pOutImg | ||
| ) |
wrapper function for ring surface unrolling
| ipsdk::processor::IPSDKBaseProcessingException | on failure |
1.8.14