注意
转到结尾 下载完整的示例代码。或者通过 Binder 在浏览器中运行此示例
轮廓查找#
我们使用游走方块方法在图像中查找恒定值的轮廓。在 skimage.measure.find_contours
中,数组值进行线性插值以提供输出轮廓的更好精度。与图像边缘相交的轮廓是开放的;所有其他轮廓都是闭合的。
游走方块算法marching squares algorithm 是游走立方体算法(Lorensen,William 和 Harvey E. Cline。游走立方体:一种高分辨率 3D 表面构造算法。计算机图形 SIGGRAPH 87 会议记录)21(4) 1987 年 7 月,第 163-170 页)的特例。
import numpy as np
import matplotlib.pyplot as plt
from skimage import measure
# Construct some test data
x, y = np.ogrid[-np.pi : np.pi : 100j, -np.pi : np.pi : 100j]
r = np.sin(np.exp(np.sin(x) ** 3 + np.cos(y) ** 2))
# Find contours at a constant value of 0.8
contours = measure.find_contours(r, 0.8)
# Display the image and plot all contours found
fig, ax = plt.subplots()
ax.imshow(r, cmap=plt.cm.gray)
for contour in contours:
ax.plot(contour[:, 1], contour[:, 0], linewidth=2)
ax.axis('image')
ax.set_xticks([])
ax.set_yticks([])
plt.show()
脚本的总运行时间:(0 分钟 0.155 秒)