How to make triangle for a synthetic image in gray scale

15 views (last 30 days)
Helo me trying to make a synthetic image in gray scale with some rectangular shape and triangle but have trouble how to make triangle.

Accepted Answer

Image Analyst
Image Analyst on 19 Mar 2013
Try this:
rows = 240;
columns = 320;
grayImage = zeros(rows, columns, 'uint8');
xCoords = [100 200 300];
yCoords = [80 160 80];
mask = poly2mask(xCoords, yCoords, rows, columns);
grayImage(mask) = 150; % or whatever value you want.
imshow(grayImage);

More Answers (3)

Walter Roberson
Walter Roberson on 19 Mar 2013
poly2roi()

Benhassine Nasser edinne
Benhassine Nasser edinne on 18 Feb 2017
thank you very mutch

Benhassine Nasser edinne
Benhassine Nasser edinne on 18 Feb 2017
Edited: Walter Roberson on 18 Feb 2017
you can make this i.e
fname = uigetfile('*.*'); % gray scale image
Io = imread(fname);
I=Io;
xCoords = [200 512 512];
yCoords = [512 128 512];
mask = poly2mask(xCoords, yCoords, size(I,1), size(I,2));
I(mask) = 0;
Iresult=I;
subplot(1,3,1);imshow(Io) ;title('original image');
subplot(1,3,2);imshow(mask) ;title('triangl mask');
subplot(1,3,3);imshow(Iresult) ;title('Result image');

Community Treasure Hunt

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

Start Hunting!