[mmintersec] [Up] [mmsymdif] Operations

mmsubm
Subtraction of two images, with saturation.

Synopsis

y = mmsubm( f1, f2 )

Implemented in Python.

Input

f1 Image Unsigned gray-scale (uint8 or uint16), signed (int32) or binary image.
f2 Image Unsigned gray-scale (uint8 or uint16), signed (int32) or binary image.

Or constant.

Output

y Image Unsigned gray-scale (uint8 or uint16), signed (int32) or binary image.

Description

mmsubm creates the image y by pixelwise subtraction of the image f2 from the image f1. When the subtraction of the values of two pixels is negative, 0 is taken as the result of the subtraction. When f1 and f2 are binary images, y represents the set subtraction of f2 from f1.

Examples

>>> f = uint8([255,   255,    0,   10,   20,   10,    0,   255,  255])

              
>>> g = uint8([10,     20,   30,   40,   50,   40,   30,    20,    10])

              
>>> print mmsubm(f, g)
[245 235   0   0   0   0   0 235 245]
>>> print mmsubm(f, 100)
Warning: Converting input image from int32 to uint8.
[155 155   0   0   0   0   0 155 155]
>>> print mmsubm(100, f)
Warning: Converting input image from uint8 to int32.
[-155 -155  100   90   80   90  100 -155 -155]
Gray scale image:
>>> a = mmreadgray('boxdrill-C.tif')

              
>>> b = mmreadgray('boxdrill-B.tif')

              
>>> c = mmsubm(a,b)

              
>>> mmshow(a)

              
>>> mmshow(b)

              
>>> mmshow(c)

            
a b c

Equation

Source Code

def mmsubm(f1, f2):
    from Numeric import array, minimum, maximum
    if type(f2) is array:
        assert f1.typecode() == f2.typecode(), 'Cannot have different datatypes:'
    y = minimum(maximum(f1.astype('d')-f2, mmlimits(f1)[0]), mmlimits(f1)[1])
    y = y.astype(f1.typecode())
    return y
    

See also

mmfreedom Control automatic data type conversion.
mmaddm Addition of two images, with saturation.

See also

mmfreedom Control automatic data type conversion.
mmaddm Addition of two images, with saturation.
mmlimits Get the possible minimum and maximum of an image.
[mmintersec] [Up] [mmsymdif] Python