poly2maskfine

Computes an anti-aliased mask from a polygon, like poly2mask but then accurate anti aliased
7 Downloads
Updated 25 Apr 2024

View License

poly2maskfine Computes an anti-aliased mask from a polygon.
GrayMask = poly2maskfine(X, Y, M, N) computes an accurate anti-aliased mask
representing the polygon defined by the vertices in vectors X and Y.
The output GrayMask is a double array of size M x N:
- Pixels on the edge of the polygon are set to a value representing
the area of overlap between the polygon and the pixel's square area.
- Pixels inside the polygon (defined by X and Y) are set to 1.
- Pixels outside the polygon (defined by X and Y) are set to 0.
poly2maskfine automatically closes the polygon if it's not already closed.
Example:
% Create a 100x120 grayscale image
M = 100; N = 120;
% Create an ellipse
theta = linspace(0, 2*pi, 100); % 100 points for the circle contour
x_ellipse = 60 + 55 * cos(theta); % x coordinates of the circle contour
y_ellipse = 50 + 40 * sin(theta); % y coordinates of the circle contour
% Compute the anti-aliased mask for the ellipse
GrayMask = poly2maskfine(x_ellipse, y_ellipse, M, N);
figure, imshow(GrayMask)

Cite As

Dirk-Jan Kroon (2026). poly2maskfine (https://uk.mathworks.com/matlabcentral/fileexchange/164491-poly2maskfine), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2024a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags
Version Published Release Notes
1.0.0