mask2poly(mask)

Convert mask to region-of-interest polygons

991 Downloads

Updated 30 Jun 2015

View License

P = MASK2POLY(BW) reverses the POLY2MASK function in Image Processing Toolbox. It takes a binary image BW and returns an array of struct, P. Each element of P defines either a polygon or a hole within a polygon.
This function requires another FEX function: contourcs (http://www.mathworks.com/matlabcentral/fileexchange/28447)
Example:
mask = imread('circuit.tif')>100;
P = mask2poly(mask);
figure;
imagesc(mask);
axis on; box off; grid on;
hold on;
for n = 1:numel(P)
if P(n).IsFilled
color = 'w';
else
color = 'y';
end
plot(P(n).X,P(n).Y,color);
end
hold off;

Cite As

Kesh Ikuma (2023). mask2poly(mask) (https://www.mathworks.com/matlabcentral/fileexchange/45980-mask2poly-mask), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2014a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.4.0.0

* Rewritten the code handling the mask edges that terminate at the mask boundary. A bug in previous version resulted in an infinite loop.
* Fixed the bug that caused a erroneous ROI polygon from a one-pixel wide mask

1.3.0.0

Bug fixes:
- fixed error when mask covers the entire area (caused by missing IsFilled field)
- fixed the bug in the algorithm to determine IsFilled output

1.2.2.0

bug fix

1.2.0.0

fixed missing IsFilled field if mask contains no ROI

1.1.0.0

Added example to the description

1.0.0.0