python 填充算法_OpenCV之漫水填充算法(Python实现)

首先看看floodFill()的算法原型

def floodFill(image, mask, seedPoint, newVal, loDiff=None, upDiff=None, flags=None)

第一个参数image为原图像

第二个参数mask为掩模

第三个参数SeedPoint为随机初始种子

第四个参数为低值

第五个参数为高值

第六个参数为选项,即填充方法,FLOODFILL_FIXED_RANGE 指定填充的颜色

FLOODFILL_MASK_ONLY,mask的指定的位置为零时才填充,不为0不填充

分别看看这两个函数的例子:

def fill_color_demo(image):

copyImage = image.copy()

h, w = copyImage.shape[:2]

mask = np.zeros([h+2, w+2], np.uint8) // 这里必须为 h+2,w+2

cv.floodFill(copyImage, mask, (20, 20), (0, 125, 125), (100, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)

cv.imshow("fill_color_demo", copyImage)

这个意思就是选取一个随机种子(20,20),然后在低值和高值范围内,就把颜色改为(0,125,125)。

我们看运行结果:

FLOODFILL_MASK_ONLY另外一种模式</

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
种子填充算法是一种用于在图像处理中填充闭合区域的算法。下面是一个用Python编写的种子填充算法的示例: ```python # 种子填充算法 def seedFill(x, y): if(a[x][y == 0): a[x][y = 1 if(a[x+1][y == 0): seedFill(x+1, y) if(a[x][y+1 == 0): seedFill(x, y+1) if(a[x-1][y == 0): seedFill(x-1, y) if(a[x][y-1 == 0): seedFill(x, y-1) ``` 这段代码使用递归的方式实现了种子填充算法。首先判断当前起始点是否是边界,如果不是,则将该点标记为1,表示填充点,然后将其上下左右四个点代入递归。 这只是种子填充算法的一个示例,实际应用中可能需要根据具体情况进行适当的修改。另外,如果要在图像上显示填充效果,可以使用一些图像处理库,如OpenCV或Pillow。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python实现图形学种子填充算法](https://blog.csdn.net/sf_nine/article/details/122457762)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [python进行数据增强](https://download.csdn.net/download/doyoboy/88278532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值