is it possible to define only the sigma value in the edge command?

4 views (last 30 days)
Hi! I would like to set only the sigma value for the canny and LoG operator. Is it possible? or I must set also the threshoold? Thank you

Accepted Answer

yanqi liu
yanqi liu on 7 Mar 2022
yes,sir,may be set [] and test,such as
>> im = imread('rice.png');
>> e = edge(im, 'canny', [], 0.1);
>> figure; imshow(e)
>>

More Answers (2)

DGM
DGM on 6 Mar 2022
Edited: DGM on 6 Mar 2022
Bear in mind that even if you were able to specify the arguments out of order, edge() will assume a default threshold value. That raises the question: do you want to let edge() automatically select the threshold, or do you want no thresholding to be performed?
If you want to simply let edge() select threshold automatically, call it with an empty vector as a placeholder:
BW = edge(I,method,[],sigma)
If on the other hand, you want no thresholding to be performed, then afaik, edge() can't do that through its supported syntaxes.
I don't know of any IPT tools that could conveniently do a canny filter set without the thresholding. Certainly, you could roll something custom with basic IPT tools like imfilter(). That said, there may be some implementations on the File Exchange.
For LoG, fspecial() can create a LoG filter of specified size and sigma. You would then apply it with imfilter().

Image Analyst
Image Analyst on 6 Mar 2022
Maybe you'd like to use imgradient().

Community Treasure Hunt

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

Start Hunting!