def contrastEnhancer(imIn, imOut, n=1, se=mamba.DEFAULT_SE): """ Increase the contrast of image 'imIn' and put the result in image 'imOut'. Parameter 'n' will control the size and 'se' the structuring element used by the top hat operators. """ imWrk = mamba.imageMb(imIn) mamba.whiteTopHat(imIn, imWrk, n, se=se) mamba.add(imIn, imWrk, imOut) mamba.blackTopHat(imIn, imWrk, n, se=se) mamba.sub(imOut, imWrk, imOut)
def binarySkeletonByOpening(imIn, imOut1, imOut2, grid=mamba.DEFAULT_GRID, edge=mamba.FILLED): """ Skeleton by openings (maximal balls skeleton) of binary image 'imIn'. 'imOut1' contains the skeleton points (centers of maximal balls) and 'imOut2' contains the associated function (that is the radius of each maximal ball included in the initial set. The operation is fast because it is computed through the use of the distance function of 'imIn' (skeleton points can be obtained by a Top Hat transform on the distance function). The edge is set to 'FILLED' by default. """ imWrk1 = mamba.imageMb(imIn, 32) imWrk2 = mamba.imageMb(imIn, 32) se = mamba.structuringElement(mamba.getDirections(grid), grid) mamba.computeDistance(imIn, imWrk1, grid=grid, edge=edge) mamba.whiteTopHat(imWrk1, imWrk2, 1, se=se) mamba.threshold(imWrk2, imOut1, 1, mamba.computeMaxRange(imWrk2)[1]) mamba.convertByMask(imOut1, imWrk2, 0, mamba.computeMaxRange(imWrk2)[1]) mamba.logic(imWrk1, imWrk2, imOut2, "inf")