使用mark_boundaries()函数在Python中绘制图像边界
发布时间:2024-01-19 19:13:01
mark_boundaries()函数是scikit-image库中的一个函数,用于在图像上绘制边界带。边界带是指图像中不同区域之间的边界线。边界带可以用来表示不同的对象、目标或区域,并提供图像的分割信息。该函数采用原始图像和区域分割图像作为输入,并在原始图像上绘制出每个区域的边界。
使用mark_boundaries()函数,首先需要安装scikit-image库。可以使用以下命令来安装scikit-image:
pip install scikit-image
安装完成后,就可以使用mark_boundaries()函数来绘制图像的边界带。下面是一个使用mark_boundaries()函数的示例:
import matplotlib.pyplot as plt
from skimage.segmentation import mark_boundaries
from skimage.data import camera
from skimage.segmentation import slic
# 加载样例图像
image = camera()
# 使用SLIC算法对图像进行区域分割
segments = slic(image, n_segments=100)
# 在图像上绘制边界带
boundaries = mark_boundaries(image, segments)
# 显示原始图像和绘制边界带后的图像
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))
ax[0].imshow(image, cmap='gray')
ax[0].set_title('Original Image')
ax[0].axis('off')
ax[1].imshow(boundaries, cmap='gray')
ax[1].set_title('Image with Boundaries')
ax[1].axis('off')
plt.show()
在这个例子中,首先我们使用camera()函数加载了一个样例图像。然后,我们使用SLIC(Simple Linear Iterative Clustering)算法对图像进行了区域分割,得到了每个区域的标签。接下来,我们使用mark_boundaries()函数在原始图像上绘制了边界带。最后,我们使用matplotlib库将原始图像和绘制边界带后的图像显示出来。
运行上述代码,将会显示原始图像和带有边界的图像。边界带显示了图像中各个区域之间的边界线。
mark_boundaries()函数还有其他一些可选参数,用于自定义边界带的样式,比如颜色、宽度等。可以在scikit-image的官方文档中查看更多关于mark_boundaries()函数的详细信息。
