how can i detect triangle

how can i detect green colour triangle from pic

 Risposta accettata

Image Analyst
Image Analyst il 12 Giu 2016

1 voto

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 Commenti

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
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;
Ahmad Jadoon
Ahmad Jadoon il 13 Giu 2016
thanks sir

Accedi per commentare.

Più risposte (1)

Muhammad Usman Saleem
Muhammad Usman Saleem il 12 Giu 2016

0 voti

1 Commento

Ahmad Jadoon
Ahmad Jadoon il 13 Giu 2016
Modificato: Ahmad Jadoon il 13 Giu 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

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by