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)
引用格式
Dirk-Jan Kroon (2024). poly2maskfine (https://www.mathworks.com/matlabcentral/fileexchange/164491-poly2maskfine), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
创建方式
R2024a
兼容任何版本
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0 |