什么是滞后阈值?如何使用 Python 中的 scikit-learn 实现它?


滞后指的是结果的滞后效应。关于阈值,滞后指的是**高于特定低阈值或高于高阈值的区域。它指的是**本质上高度自信的区域。

借助滞后,可以忽略图像中对象边缘外的噪声。

让我们看看如何使用 scikit-learn 库实现滞后阈值

示例

import matplotlib.pyplot as plt
from skimage import data, filters
fig, ax = plt.subplots(nrows=2, ncols=2)
orig_img = data.coins()
edges = filters.sobel(orig_img)
low = 0.1
high = 0.4
lowt = (edges > low).astype(int)
hight = (edges > high).astype(int)
hyst = filters.apply_hysteresis_threshold(edges, low, high)
ax[0, 0].imshow(orig_img, cmap='gray')
ax[0, 0].set_title('Original image')
ax[0, 1].imshow(edges, cmap='magma')
ax[0, 1].set_title('Sobel edges')
ax[1, 0].imshow(lowt, cmap='magma')
ax[1, 0].set_title('Low threshold')
ax[1, 1].imshow(hight + hyst, cmap='magma')
ax[1, 1].set_title('Hysteresis threshold')
for a in ax.ravel():
a.axis('off')
plt.tight_layout()
plt.show()

输出

解释

  • 导入所需的库。

  • 在控制台上绘制图像之前,使用 subplot 函数设置绘图区域。

  • scikit-learn 包中已有的“coin”数据用作输入。

  • 使用“sobel”滤波器获取输入的“sobel”图像,其中在结果图像中强调边缘

  • 使用函数“apply_hysteresis_threshold”获取高于和低于某个阈值的值。

  • 使用函数“imshow”在控制台上显示此数据。

更新于: 2020-12-11

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告