使用opencv写一个洪水填充的代码,填充颜色为蓝色
时间: 2024-04-21 19:16:04 浏览: 219
好的,以下是使用OpenCV进行洪水填充的Python代码示例:
```python
import cv2
# 读取原始图片
img = cv2.imread('input.jpg')
# 创建一个掩码,大小和原始图片一致
mask = np.zeros_like(img[:,:,0])
# 定义填充起始点的坐标
start_point = (100, 100)
# 定义填充的颜色
fill_color = (255, 0, 0)
# 定义填充的种子点,即填充起始点的像素值
seed_point = img[start_point[1], start_point[0]]
# 使用洪水填充算法,填充掩码
cv2.floodFill(img, mask, start_point, fill_color, seed_point, (10, 10, 10), (10, 10, 10), cv2.FLOODFILL_FIXED_RANGE)
# 显示填充后的图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.floodFill()`函数的参数含义如下:
- `img`:要填充的原始图片;
- `mask`:填充掩码,要求大小和原始图片一致,初始值为0;
- `start_point`:填充的起始点坐标;
- `fill_color`:填充颜色;
- `seed_point`:填充种子点,即填充起始点的像素值;
- `(10, 10, 10)`和`(10, 10, 10)`:填充的颜色范围,表示填充的像素值与种子点像素值之间允许的最大差值;
- `cv2.FLOODFILL_FIXED_RANGE`:填充模式,表示采用固定范围填充。
以上代码将会在起始点`(100, 100)`开始填充,填充颜色为蓝色。
阅读全文