用法:
skimage.feature.blob_dog(image, min_sigma=1, max_sigma=50, sigma_ratio=1.6, threshold=0.5, overlap=0.5, *, threshold_rel=None, exclude_border=False)
在给定的灰度图像中查找 blob。
使用高斯差分 (DoG) 方法 [1] 、 [2] 找到 Blob。对于找到的每个 blob,该方法返回其坐标和检测到 blob 的高斯核的标准偏差。
- image:ndarray
输入灰度图像,假设斑点在深色背景上是亮的(黑底白字)。
- min_sigma:标量或标量序列,可选
高斯核的最小标准差。保持这个低以检测较小的斑点。每个轴的高斯滤波器的标准偏差作为一个序列或单个数字给出,在这种情况下,它对所有轴都是相等的。
- max_sigma:标量或标量序列,可选
高斯核的最大标准偏差。保持这个高以检测更大的斑点。每个轴的高斯滤波器的标准偏差作为一个序列或单个数字给出,在这种情况下,它对所有轴都是相等的。
- sigma_ratio:浮点数,可选
用于计算高斯差的高斯核的标准差之间的比率
- threshold:浮点数或无,可选
尺度空间最大值的绝对下限。小于阈值的局部最大值被忽略。减少它以检测强度较低的斑点。如果还指定了threshold_rel,则将使用较大的阈值。如果没有,则使用threshold_rel。
- overlap:浮点数,可选
一个介于 0 和 1 之间的值。如果两个斑点的面积重叠的部分大于阈值,则消除较小的斑点。
- threshold_rel:浮点数或无,可选
峰的最小强度,计算为
max(dog_space) * threshold_rel
,其中dog_space
指内部计算的Difference-of-Gaussian (DoG) 图像堆栈。这应该有一个介于 0 和 1 之间的值。如果没有,临界点改为使用。- exclude_border:ints、int 或 False 的元组,可选
如果是整数元组,则元组的长度必须与输入数组的维度匹配。元组的每个元素将排除沿着该维度的图像边界的 exclude_border 像素内的峰值。如果整数非零,则 exclude_border 排除图像边界的 exclude_border 像素内的峰值。如果为零或假,则无论峰与边界的距离如何,都会识别峰。
- A:(n, image.ndim + sigma) ndarray
一个 2d 数组,每行表示 2D 图像的 2 个坐标值,或 3D 图像的 3 个坐标值,加上使用的 sigma。当通过单个 sigma 时,输出为:
(r, c, sigma)
或(p, r, c, sigma)
其中(r, c)
或(p, r, c)
是 blob 的坐标,sigma
是检测到 blob 的高斯内核的标准偏差。当使用各向异性高斯函数(每个维度的 sigma)时,会为每个维度返回检测到的 sigma。
参数:
返回:
注意:
对于 2-D 图像,每个 blob 的半径约为 ,对于 3-D 图像,其半径约为 。
参考:
- 1
https://en.wikipedia.org/wiki/Blob_detection#The_difference_of_Gaussians_approach
- 2
Lowe, D. G. “Distinctive Image Features from Scale-Invariant Keypoints.” International Journal of Computer Vision 60, 91-110 (2004). https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf DOI:10.1023/B:VISI.0000029664.99615.94
例子:
>>> from skimage import data, feature >>> coins = data.coins() >>> feature.blob_dog(coins, threshold=.05, min_sigma=10, max_sigma=40) array([[128., 155., 10.], [198., 155., 10.], [124., 338., 10.], [127., 102., 10.], [193., 281., 10.], [126., 208., 10.], [267., 115., 10.], [197., 102., 10.], [198., 215., 10.], [123., 279., 10.], [126., 46., 10.], [259., 247., 10.], [196., 43., 10.], [ 54., 276., 10.], [267., 358., 10.], [ 58., 100., 10.], [259., 305., 10.], [185., 347., 16.], [261., 174., 16.], [ 46., 336., 16.], [ 54., 217., 10.], [ 55., 157., 10.], [ 57., 41., 10.], [260., 47., 16.]])
相关用法
- Python skimage.feature.blob_doh用法及代码示例
- Python skimage.feature.blob_log用法及代码示例
- Python skimage.feature.graycomatrix用法及代码示例
- Python skimage.feature.graycoprops用法及代码示例
- Python skimage.feature.corner_orientations用法及代码示例
- Python skimage.feature.structure_tensor用法及代码示例
- Python skimage.feature.hessian_matrix用法及代码示例
- Python skimage.feature.ORB用法及代码示例
- Python skimage.feature.corner_subpix用法及代码示例
- Python skimage.feature.canny用法及代码示例
- Python skimage.feature.peak_local_max用法及代码示例
- Python skimage.feature.CENSURE用法及代码示例
- Python skimage.feature.hessian_matrix_eigvals用法及代码示例
- Python skimage.feature.corner_foerstner用法及代码示例
- Python skimage.feature.haar_like_feature_coord用法及代码示例
- Python skimage.feature.corner_harris用法及代码示例
- Python skimage.feature.corner_fast用法及代码示例
- Python skimage.feature.BRIEF用法及代码示例
- Python skimage.feature.haar_like_feature用法及代码示例
- Python skimage.feature.SIFT用法及代码示例
- Python skimage.feature.structure_tensor_eigvals用法及代码示例
- Python skimage.feature.shape_index用法及代码示例
- Python skimage.feature.corner_peaks用法及代码示例
- Python skimage.feature.corner_moravec用法及代码示例
- Python skimage.feature.structure_tensor_eigenvalues用法及代码示例
注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.feature.blob_dog。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。