MPSImageDilate(3) MetalPerformanceShaders.framework MPSImageDilate(3)
NAME
MPSImageDilate
SYNOPSIS
#import <MPSImageMorphology.h>
Inherits MPSUnaryImageKernel.
Inherited by MPSImageErode.
Instance Methods
(nonnull instancetype) -
initWithDevice:kernelWidth:kernelHeight:values:
(nonnull instancetype) - initWithDevice:
(nullable instancetype) - initWithCoder:device:
Properties
NSUInteger kernelHeight
NSUInteger kernelWidth
Additional Inherited Members
Detailed Description
The MPSImageDilate finds the maximum pixel value in a rectangular
region centered around each pixel in the source image. It is like the
MPSImageAreaMax, except that the intensity at each position is
calculated relative to a different value before determining which is
the maximum pixel value, allowing for shaped, non-rectangular
morphological probes.
for each pixel in the filter window:
value = pixel[filterY][filterX] - filter[filterY*filter_width+filterX]
if( value > bestValue ){
result = value
bestValue = value;
}
A filter that contains all zeros and is identical to a MPSImageAreaMax
filter. The center filter element is assumed to be 0 to avoid causing a
general darkening of the image.
The edgeMode property is assumed to always be MPSImageEdgeModeClamp for
this filter.
Method Documentation
- (nullable instancetype) initWithCoder: (NSCoder *__nonnull)
aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding compatability While the standard
NSSecureCoding/NSCoding method -initWithCoder: should work, since the
file can't know which device your data is allocated on, we have to
guess and may guess incorrectly. To avoid that problem, use
initWithCoder:device instead.
Parameters:
aDecoder The NSCoder subclass with your serialized MPSKernel
device The MTLDevice on which to make the MPSKernel
Returns:
A new MPSKernel object, or nil if failure.
Reimplemented from MPSUnaryImageKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device
Standard init with default properties per filter type
Parameters:
device The device that the filter will be used on. May not be NULL.
Returns:
a pointer to the newly initialized object. This will fail,
returning nil if the device is not supported. Devices must be
MTLFeatureSet_iOS_GPUFamily2_v1 or later.
Reimplemented from MPSUnaryImageKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >)
device(NSUInteger) kernelWidth(NSUInteger) kernelHeight(const float
*__nonnull) values
Init a object with kernel height, width and weight values. Each dilate
shape probe defines a 3D surface of values. These are arranged in order
left to right, then top to bottom in a 1D array.
(values[kernelWidth*y+x] = probe[y][x]) Values should be generally be
in the range [0,1] with the center pixel tending towards 0 and edges
towards 1. However, any numerical value is allowed. Calculations are
subject to the usual floating-point rounding error.
Parameters:
device The device the filter will run on
kernelWidth The width of the kernel. Must be an odd number.
kernelHeight The height of the kernel. Must be an odd number.
values The set of values to use as the dilate probe. The values are
copied into the filter. To avoid image ligthening or darkening, the
center value should be 0.0f.
Property Documentation
- kernelHeight [read], [nonatomic], [assign]
The height of the filter window. Must be an odd number.
- kernelWidth [read], [nonatomic], [assign]
The width of the filter window. Must be an odd number.
Author
Generated automatically by Doxygen for
MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-Thu2Jul 13 2017 MPSImageDilate(3)
Mac OS X 10.13.1 - Generated Tue Nov 7 06:12:28 CST 2017