Opencv-Python颜色填充

import cv2
import numpy as np

def fill_color_demo(image):
    copyImage = image.copy()
    h, w = image.shape[:2]
    mask = np.zeros([h+2, w+2], np.uint8)
    cv2.floodFill(copyImage, mask, (30, 30), (128, 0, 128), (100, 100, 100), (50, 50, 50), cv2.FLOODFILL_FIXED_RANGE)
    cv2.imshow('fill_color_demo', copyImage)


def fill_binary_demo():
    img = np.ones([400, 400, 3], np.uint8)
    img[50:150, 50:150, :] = 255

    mask = np.zeros([402, 402, 1], np.uint8)
    mask[51:151, 51:151] = 0
    cv2.floodFill(img, mask, (100, 100), (128, 43, 226), cv2.FLOODFILL_MASK_ONLY)
    cv2.imshow('fill_binary_demo', img)


src = cv2.imread('WindowsLogo.jpg')
fill_color_demo(src)
fill_binary_demo()
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV-Python提供了多种模型分割的算法,包括基于图像颜色空间的分割、基于形态学操作的分割、基于阈值的分割、基于边缘检测的分割以及基于机器学习的分割。下面我将简单介绍其中几种常用的模型分割算法。 1. 基于阈值的分割:这是最简单的图像分割算法,其基本思想是将图像根据像素灰度值的大小关系进行分割。OpenCV-Python提供了多种阈值分割的方法,包括全局阈值、自适应阈值、Otsu阈值等。 2. 基于形态学操作的分割:形态学操作是一种基于图像形状和结构的处理方法。OpenCV-Python提供了多种形态学操作,包括膨胀、腐蚀、开操作、闭操作等,这些操作可以用于去除噪声、填充空洞、分离物体等。 3. 基于边缘检测的分割:边缘是图像中物体和背景之间的分界线,因此边缘检测可以用于分割图像。OpenCV-Python提供了多种边缘检测算法,包括Sobel、Canny、Laplacian等。 4. 基于机器学习的分割:这种方法需要事先训练一个分类器,然后用分类器对图像进行分割。OpenCV-Python提供了多种机器学习算法,包括支持向量机、随机森林、神经网络等。这些算法可以用于图像分类、目标检测、物体识别等应用。 以上是常用的几种模型分割算法,你可以根据具体的应用场景选择合适的算法。同时,OpenCV-Python还提供了多种图像处理函数和工具,可以帮助你快速实现图像分割功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值