Morphologically open image
IM2 = imopen(IM,SE)
IM2 = imopen(IM,NHOOD)
gpuarrayIM2 = imopen(gpuarrayIM,___)
IM2 = imopen(IM,SE) performs morphological opening on the grayscale or binary image IM with the structuring element SE. The argument SE must be a single structuring element object, as opposed to an array of objects. The morphological open operation is an erosion followed by a dilation, using the same structuring element for both operations.
gpuarrayIM2 = imopen(gpuarrayIM,___) performs the operation on a graphics processing unit (GPU) with the structuring element strel(NHOOD), if NHOOD is an array of 0s and 1s that specifies the structuring element neighborhood, or strel(gather(NHOOD)) if NHOOD is a gpuArray object that specifies the structuring element neighborhood. This syntax requires the Parallel Computing Toolbox™.
imopen supports the generation of efficient, production-quality C/C++ code from MATLAB. When generating code, the image input argument, IM, must be 2-D or 3-D and the structuring element input argument, SE, must be a compile-time constant. Generated code for this function uses a precompiled platform-specific shared library. To see a complete list of toolbox functions that support code generation, see List of Supported Functions with Usage Notes.
IM can be any numeric or logical class and any dimension, and must be nonsparse. If IM is logical, then SE must be flat.
gpuarrayIM must be a gpuArray of type uint8 or logical. When used with a gpuarray, the structuring element must be flat and two-dimensional.
The output has the same class as the input.
Read the image into the MATLAB® workspace and display it.
original = imread('snowflakes.png'); figure, imshow(original);
Create a disk-shaped structuring element with a radius of 5 pixels.
se = strel('disk',5);
Remove snowflakes having a radius less than 5 pixels by opening it with the disk-shaped structuring element.
afterOpening = imopen(original,se); figure, imshow(afterOpening,);
Read an image.
original = imread('snowflakes.png');
Create a disk-shaped structuring element.
se = strel('disk',5);
Morphologically open the image on a GPU, using a gpuArray object, and display the images.
afterOpening = imopen(gpuArray(original),se); figure, imshow(original), figure, imshow(afterOpening,)