---
title: dilate
description: "dilate函数用于对图像进行膨胀操作，在图像处理和计算机视觉中广泛应用于特征增强和形状分析。膨胀是形态学操作的一种，它可以增强图像中的高亮区域，通常用于去除小的噪声、填充物体的孔洞或连接相邻的物体。膨胀操作通过使用结构元素（卷积核）来扩展图像中亮区域的边界。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_kpcv_06_0013.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_kpcv_06_0013.html
indexId: bd94c26d0d9361f846ff7ec54647320170c2083bfba85cac0debd5c4302c2e3477
---
# dilate

#### 函数功能

dilate函数用于对图像进行膨胀操作，在图像处理和计算机视觉中广泛应用于特征增强和形状分析。膨胀是形态学操作的一种，它可以增强图像中的高亮区域，通常用于去除小的噪声、填充物体的孔洞或连接相邻的物体。膨胀操作通过使用结构元素（卷积核）来扩展图像中亮区域的边界。


#### 函数接口

```
cv2.dilate(src, kernel, anchor=None, iterations=1, borderType=cv2.BORDER_CONSTANT, borderValue=None)
```


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| src | 输入图像（通常是二值图像或灰度图像）。 | 非空 | 输入 |
| kernel | 结构元素，用于膨胀操作，通常为一个矩阵。 | 非空 | 输入 |
| anchor | 锚点位置，默认为None，表示结构元素的中心。 | tuple类型，格式为 (x, y) x：水平偏移量，范围 [0, kernel\_width\-1] y：垂直偏移量，范围 [0, kernel\_height\-1] kernel\_width和kernel\_height由kernel参数决定 | 输入 |
| iterations | 膨胀操作的次数，默认为1。增加此值将进一步扩展图像。 | 非负整数（通常为1或更高） | 输入 |
| borderType | 边界模式，默认为cv2.BORDER\_CONSTANT。可以选择不同的边界处理方式，KPCV只支持BORDER\_CONSTANT处理方式。 | 取值为cv2.BORDER\_\* 常量，如cv2.BORDER\_CONSTANT、cv2.BORDER\_REPLICATE、cv2.BORDER\_REFLECT等 | 输入 |
| borderValue | 边界填充的常数值，通常为0，但可以指定为其他值，只有在borderType为BORDER\_CONSTANT时有效。 | 可以是任何float或int数字，默认是0 | 输入 |


#### 返回值

- 输出图像。


#### 示例

```
import numpy as np 
import cv2
# 创建一个5x5的简单图像 
src = np.array([[0, 0, 0, 0, 0],
                [0, 1, 1, 1, 0],
                [0, 1, 0, 1, 0],
                [0, 1, 1, 1, 0],
                [0, 0, 0, 0, 0]], dtype=np.uint8)
#膨胀操作的核
kernel = np.ones((3, 3), np.uint8) 
dst = cv2.dilate(src, kernel, iterations=1)

print(dst)
```

运行结果：

```
[[1 1 1 1 1]
 [1 1 1 1 1]
 [1 1 1 1 1]
 [1 1 1 1 1]
 [1 1 1 1 1]]
```
