把最大轮廓重新画在白色画布上python 代码
时间: 2024-10-12 11:05:34 浏览: 37
在Python中,如果你已经找到了最大轮廓,并想将其重新绘制在一个白色的画布上,可以使用以下OpenCV代码片段:
```python
import cv2
import numpy as np
# 假设`max_contour`是之前步骤中找到的最大轮廓
# 假设`white_canvas`是一个全白的numpy数组,形状和`img`一样,或者直接创建一个新的白色画布
# 将最大轮廓转换为闭合路径
approx_contour = cv2.approxPolyDP(max_contour, 0.01 * cv2.arcLength(max_contour, True), True)
# 使用轮廓填充白色画布
mask = np.zeros_like(white_canvas, dtype=np.uint8)
cv2.drawContours(mask, [approx_contour], -1, 255, -1) # -1 表示外部轮廓,255代表白色
# 将轮廓区域设置为原色(这里假设原图颜色也是白色)
result = white_canvas.copy()
result[mask != 0] = img[mask != 0] # 或者 result[mask == 255] = img[mask == 255]
# 显示结果
cv2.imshow("Max Contour on White Canvas", result)
cv2.waitKey(0)
阅读全文
相关推荐








