python opencv泛洪填充
时间: 2023-10-14 08:07:53 浏览: 93
泛洪填充(Flood Fill)是一种图像处理算法,用于将图像中的一个区域或连通分量用指定的颜色进行填充。在Python OpenCV中,可以使用cv2.floodFill()函数来实现泛洪填充。
泛洪填充函数的原型如下:
cv.floodFill(image, mask, seedPoint, newVal[, loDiff[, upDiff[, flags]]]) -> retval, image, mask, rect
其中,参数解释如下:
- image:输入图像,可以是灰度图像或彩色图像。
- mask:掩膜图像,用于指定填充的区域。图像大小必须比输入图像的大小大2。
- seedPoint:起始点,填充的起始位置。
- newVal:新的像素值,填充的颜色。
- loDiff和upDiff:下界和上界,用于指定填充的范围。如果不指定,默认为(0,0,0)和(0,0,0),表示填充指定像素值的区域。
- flags:填充算法的标志,可以是cv.FLOODFILL_FIXED_RANGE或cv.FLOODFILL_MASK_ONLY。
在泛洪填充中,可以根据需要进行彩色图像填充或二值图像填充。为了演示不同的填充方式,我分别提供了两个例子:
1. 彩色图像填充:
```python
import cv2 as cv
import numpy as np
def fill_color_demo(image):
copyImg = image.copy()
h, w = image.shape[:2]
mask = np.zeros([h+2, w+2], np.uint8)
cv.floodFill(copyImg, mask, (220, 250), (0, 255, 255), (100, 100, 100), (50, 50 ,50), cv.FLOODFILL_FIXED_RANGE)
cv.imshow("fill_color_demo", copyImg)
src = cv.imread('E:/imageload/baboon.jpg')
cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE)
cv.imshow('input_image', src)
fill_color_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
```
2. 二值图像填充:
```python
import cv2 as cv
import numpy as np
def fill_binary():
image = np.zeros([400, 400, 3], np.uint8)
image[100:300, 100:300] = 255
mask = np.ones([402, 402], np.uint8)
mask[101:301, 101:301] = 0
cv.floodFill(image, mask, (200,200), (255 , 0, 0), cv.FLOODFILL_MASK_ONLY)
cv.imshow("filled_binary", image)
fill_binary()
cv.waitKey(0)
cv.destroyAllWindows()
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)