cv2.dilate() 函数是 OpenCV 库中用于执行图像膨胀操作的函数。膨胀操作是一种形态学操作,可以使图像中的边缘或物体变得更加粗壮。

函数原型:

cv2.dilate(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]]) → dst

参数说明:

  • src: 输入图像,可以是灰度图像或彩色图像,图像类型为 uint8 或 float32。
  • kernel: 用于膨胀操作的结构元素,可以通过 cv2.getStructuringElement() 函数生成。
  • dst: 输出图像,与输入图像具有相同的大小和类型。
  • anchor: 锚点位置,默认为 (-1, -1),表示锚点位于中心。
  • iterations: 膨胀操作的迭代次数,默认为 1。
  • borderType: 边界模式,默认为 cv2.BORDER_CONSTANT。
  • borderValue: 边界值,默认为 0。

膨胀操作原理: 膨胀操作的原理是将结构元素与图像进行卷积操作,将结构元素覆盖到图像上的每个像素点,如果结构元素的中心与该像素点重合,那么该像素点的值就等于结构元素中的最大值。

示例代码:

import cv2
import numpy as np

# 读取图像
img = cv2.imread("image.jpg", 0)

# 创建结构元素
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))

# 膨胀操作
dilated_img = cv2.dilate(img, kernel, iterations=1)

# 显示图像
cv2.imshow("Original Image", img)
cv2.imshow("Dilated Image", dilated_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

上述代码首先读取图像,然后创建一个 3x3 的矩形结构元素,接着使用 cv2.dilate() 函数对图像进行膨胀操作,并将结果显示出来。


原文地址: https://www.cveoy.top/t/topic/pLST 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录