0

Matlab 版本:7.8.0(R2009a)

我在 Matlab 中使用 Canny 边缘检测器来查找边缘,但是对于我的问题,我需要一些 X 数量的边缘。我需要更多不。边缘然后通过将阈值设置为0来返回。例如在下图中:bw = edge(lena,'canny',0); imshow(bw)

莉娜,Highthresh = 0
我仍然得到一些黑色区域。我想在这些地区获得更多优势。那么,canny 可以采用的阈值最小值是多少?我已经给零了。

注意:有趣的是,Matlab 不会对阈值的负值给出错误。但它仍然具有相同的优势。[bw1 t]= edge(j(:,:,2),'canny',-7577908988800);给 t 作为-3.0312 -7.5779

4

1 回答 1

0

指定的官方edge文档

thresh是一个双元素 vector,其中第一个元素是低阈值,第二个元素是高阈值。如果您指定scalarfor thresh,则此scalar值用于阈值...

尝试明确设置较低的阈值,而不仅仅是高阈值:

[bw1 t]= edge(j(:,:,2),'canny',[-inf SomethingBig])
于 2013-01-16T17:47:30.453 回答