用python给轮廓填充
可以使用OpenCV库中的函数cv2.fillPoly()来给轮廓填充颜色。以下是一个示例代码:
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行边缘检测
edges = cv2.Canny(gray, 100, 200)
# 寻找轮廓
contours, hierarchy = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 创建一个黑色的图像
mask = np.zeros(img.shape[:2], dtype=np.uint8)
# 填充轮廓
cv2.fillPoly(mask, contours, 255)
# 将填充后的图像与原图像进行融合
result = cv2.bitwise_and(img, img, mask=mask)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Filled Image', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个示例中,我们首先将图像转换为灰度图,然后进行边缘检测以获得轮廓。然后,我们创建一个与原始图像相同大小的黑色图像,并使用函数cv2.fillPoly()填充轮廓。最后,我们将填充后的图像与原始图像进行融合,以便查看结果。
原文地址: http://www.cveoy.top/t/topic/bpZq 著作权归作者所有。请勿转载和采集!