用python代码将轮廓显示在图中
时间: 2024-12-10 19:36:57 浏览: 10
python+opencv轮廓检测代码解析
在Python中,你可以使用matplotlib库将找到的轮廓显示在图像上。下面是一个基本的例子,假设你已经有了`contours` 和 `image` 变量,它们分别是轮廓和原始图像:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设image是一个二维数组表示图像
image = ... # your image data
# 计算轮廓画布大小
fig, ax = plt.subplots(figsize=(8, 8)) # 创建一个新的图形窗口
# 颜色映射
colors = plt.cm.get_cmap('tab20') # 使用一种颜色映射方案
# 对于每个轮廓
for i, contour in enumerate(contours):
# 绘制轮廓
color = colors(i / len(contours))
ax.plot(contour[:, :, 1], contour[:, :, 0], linewidth=2, color=color)
# 将轮廓封闭,如果轮廓有闭合路径
if np.allclose(contour[:, 0], contour[:, -1]):
ax.fill(contour[:, 0, 1], contour[:, 0, 0], color=color, alpha=0.5)
ax.imshow(image, cmap='gray', interpolation='nearest') # 显示原图
plt.show() # 显示绘制的图像
```
这段代码首先创建一个新的绘图窗口,然后遍历每个轮廓,用不同的颜色绘制轮廓线,并填充轮廓内的区域(如果有闭合路径)。最后,显示原始图像作为背景。
阅读全文