How to detect the object in my picture that be horizontal vertical or spot ?

4 views (last 30 days)
I have many pictures. as the picture below
  1. Vertical
  2. Horizontal
  3. spot
spot.jpg
horizontal.jpg
vertical.jpg
What should I write the codes to detect specific my picture that is vertical horizontal or spot?
Please help me if you can^^
love you
Thank you for your attention ^^

Accepted Answer

KSSV
KSSV on 8 Feb 2019
I = imread('spot.jpeg') ;
I = rgb2gray(I) ;
[y,x] = find(I==0) ;
%% Remove outliers
idx = abs(x-mean(x))>3*nanstd(x) ;
idy = abs(y-mean(y))>3*nanstd(y) ;
id = idx|idy ;
x(id) = [] ; y(id) = [] ;
%% Get length and breadth
x0 = min(x) ; x1 = max(x) ;
y0 = min(y) ; y1 = max(y) ;
L = y1-y0 ;
B = x1-x0 ;
figure
imshow(I)
hold on
plot(x,y,'.r')
If L > B, than vertical
If L < B, than horizontal

More Answers (0)

Categories

Find more on Text Analytics Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!