MATLAB Answers

how can i detect triangle

82 views (last 30 days)
how can i detect green colour triangle from pic

Accepted Answer

Image Analyst
Image Analyst on 12 Jun 2016
You can segment out that green triangle using either color or shape - your choice. I'm attaching demos for each. Feel free to adapt as needed.

  3 Comments

Ahmad Jadoon
Ahmad Jadoon on 13 Jun 2016
i use this coding but it detect square ,.. plz help how can i detect triangle using this coding
clear all
clc
Img =imread('shapes.png');
subplot(2,2,1)
imshow(Img) % RGB Image
subplot(2,2,2)
[Height Width]=size(Img(:,:,2));
for i=1:Height
for j=1:Width
if Img(i,j,1:2)<115
Triangle(i,j)=Img(i,j);
else Triangle(i,j)=256;
end end end
imshow(Triangle) % Detected Triangle
Image Analyst
Image Analyst on 13 Jun 2016
Don't use for loops and simply vectorize it. Get rid of the size() and two for loops and simply have this:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
% Get pixels that are greener than they are red or blue.
Triangle = greenChannel > redChannel & greenChannel > blueChannel;

Sign in to comment.

More Answers (1)

Muhammad Usman  Saleem
Muhammad Usman Saleem on 12 Jun 2016

  1 Comment

Ahmad Jadoon
Ahmad Jadoon on 13 Jun 2016
i use this coding but it detect square ,.. plz help how can i detect triangle using this coding
clear all
clc
Img =imread('shapes.png');
subplot(2,2,1)
imshow(Img) % RGB Image
subplot(2,2,2)
[Height Width]=size(Img(:,:,2));
for i=1:Height
for j=1:Width
if Img(i,j,1:2)<115
Triangle(i,j)=Img(i,j);
else Triangle(i,j)=256;
end end end
imshow(Triangle) % Detected Triangle

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!