How can I put in a triangle into a matrix?

4 次查看(过去 30 天)
I have the matrix
A=zeros(100,100) I want to create an equilateral triangle with top vertex at point 50 (right in the middle of the matrix) extending down a total height of 10 array entries in height.
I there a function that can do this?
Thanks

回答(2 个)

Image Analyst
Image Analyst 2018-11-8
This will do it:
% Define vertices coordinates.
x = [50, 40, 60]
y = [50, 60, 60]
% Make triangle.
A = poly2mask(x, y, 100, 100) % Last two arguments are # of rows and columns.

Matt J
Matt J 2018-11-8
If you don't have the Image Processing Toolbox, you can do it with inpolygon
[I,J]=ndgrid(1:100);
Iv=[50,60,60];
Jv=[50,40,60];
Image=inpolygon(I,J,Iv,Jv);

类别

Help CenterFile Exchange 中查找有关 Image Filtering and Enhancement 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by