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

4 次查看(过去 30 天)
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 ^^

采纳的回答

KSSV
KSSV 2019-2-8
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Text Analytics Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by