Calculating mean angles of edge detection
Afficher commentaires plus anciens
Hello,
I'm a new user of Matlab and am looking to calculate the mean and median angles of an image after performing an edge detection. I am using the following edge detection script adapted from the MathWorks edge detection example code and am looking to take it a step further in order to calculate the mean and median angles of the edge detection for each image I input. I eventually am looking to change the code from a specific image to a moving window. Additionally, I'm curious whether it is possible to calculate the number of horizontal, vertical, and diagonal edges from the edge detection output?
Thank you!
clear
RGB=imread('DJI_0022.jpg'); %inputs image
I=rgb2gray(RGB); %convers to grayscale
figure
imshow(I)
%%
%https://www.mathworks.com/help/images/ref/edge.html
%two different types of edge detection
BW1 = edge(I,'Canny');
BW2 = edge(I,'Prewitt');
figure
imshowpair(BW1,BW2,'montage')
%%
%https://www.mathworks.com/matlabcentral/answers/8591-edge-direction
%vertical
BWv = imopen(BW1,[1 1 1]');
%horizontal:
BWh = imopen(BW1,[1 1 1]);
%top left to lower right
BWd = imopen(BW1,[1 0 0; 0 1 0; 0 0 1]);
%%
%plot results
figure
subplot(3,1,1)
imshow(BWv);
title('vertical')
subplot(3,1,2)
imshow(BWh);
title('horizontal')
subplot(3,1,3)
imshow(BWd);
title('diagonal')
3 commentaires
Anna Marshall
le 19 Avr 2020
darova
le 20 Avr 2020
- I'm curious whether it is possible to calculate the number of horizontal, vertical, and diagonal edges from the edge detection output?
Yes. THe answer is yes. Use bwlabel
[L,n] = bwlabel(BWh,4); % '4' is connection
Little explanation:

I'd use 4 connected object for horizontal and vertical lines. And 8 connected object for diagonals
See more here: bwlabel
Anna Marshall
le 21 Avr 2020
Réponse acceptée
Plus de réponses (1)
Image Analyst
le 21 Avr 2020
0 votes
If you have the Computer Vision Toolbox, try extractHOGFeatures() to get the histogram of oriented gradients.
1 commentaire
Anna Marshall
le 21 Avr 2020
Catégories
En savoir plus sur Object Analysis dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



