Find Threshold on Canny edge image problem
Show older comments
Dear all experts,
I met a question about how to find the threshold values by giving a fixed edge percentage on canny edge detection problem. I use two 5x5 gradient filters. The code is showns below:
% convolve filterX and filterY with Image to get magnitude gradient and angle
Ix = conv2(Image,filterX); % filterX is a 5x5 gradient filter
Iy = conv2(Image,filterY); % filterY is a 5x5 gradient filter
magnitude = sqrt(Ix.^2+Iy.^2);
angle = atan2(Iy,Ix);
% How to find threshold based on the %percentage? The edge_percentage is the
% proportion of pixels supposed to be treated as potential edge points
max = max(max(magnitude));
min = min(min(magnitude));
% threshold = some percentage work
8 Comments
Image Analyst
on 9 May 2020
We have no idea what percentage of your objects you expect to be edge points. It depends on the image. Obviously a circle has the lowest proportion of edge points, while an asterisk * shaped blob will have a much higher percentage.
Tony123
on 10 May 2020
Image Analyst
on 10 May 2020
Again, it depends on the image. And you can set a threshold to get any binary image you want, but percentage of What? What is your reference? Attach your image.
Tony123
on 11 May 2020
KALYAN ACHARJYA
on 11 May 2020
Sorry I am not getting the question.
Image Analyst
on 11 May 2020
Make it easy for us to help you. Give us code to create filterX and filterY.
Tony123
on 11 May 2020
Answers (0)
Categories
Find more on Object Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!