Opencv腐蚀、膨胀相关参数

卷积核函数:
Mat getStructuringElement(int shape, Size ksize, Point anchor = Point(-1, -1))
参数详解:
int shape:内核形状
MORPH_RECT : 矩形
    MORPH_ELLIPSE : 椭圆
    MORPH_CROSS : 十字形
    Size ksize:内核尺寸
    Point anchor:内核锚点,默认为( - 1, - 1), 表示锚点位于内核中心,一般情况下锚点只是影响了形态学运算结果的偏移

2.膨胀操作函数原型:
    C++ : void dilate(
        InputArray src,
        OutputArray dst,
        InputArray kernel,
        Point anchor = Point(-1, -1),
        int iterations = 1,
        int borderType = BORDER_CONSTANT,
        const Scalar& borderValue = morphologyDefaultBorderValue()
    );
参数详解:
InputArray src:输入图像,即源图像,填Mat类的对象即可。图像通道的数量可以是任意的,但图像深度应为CV_8U,CV_16U,CV_16S,CV_32F或 CV_64F其中之一
OutputArray dst:即目标图像,需要和源图片有一样的尺寸和类型
InputArray kernel:膨胀操作的核。若为NULL时,表示的是使用参考点位于中心3x3的核。我们一般使用函数 getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)
Point anchor = Point(-1, -1):锚的位置,其有默认值( - 1, - 1),表示锚位于中心,一般使用默认值即可
int iterations = 1:迭代使用erode()函数的次数,默认值为1
int borderType = BORDER_CONSTANT:用于推断图像外部像素的某种边界模式。注意它有默认值BORDER_DEFAULT
const Scalar& borderValue = morphologyDefaultBorderValue():当边界为常数时的边界值,有默认值morphologyDefaultBorderValue()
 

3.腐蚀操作函数原型:
C++: void erode(
    InputArray src,
    OutputArray dst,
    InputArray kernel,
    Point anchor = Point(-1, -1),
    int iterations = 1,
    int borderType = BORDER_CONSTANT,
    const Scalar& borderValue = morphologyDefaultBorderValue()
);
参数详解:
InputArray src:输入图像,即源图像,填Mat类的对象即可。图像通道的数量可以是任意的,但图像深度应为CV_8U,CV_16U,CV_16S,CV_32F或 CV_64F其中之一
OutputArray dst:即目标图像,需要和源图片有一样的尺寸和类型
InputArray kernel:膨胀操作的核。若为NULL时,表示的是使用参考点位于中心3x3的核。我们一般使用函数 getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)
Point anchor = Point(-1, -1):锚的位置,其有默认值( - 1, - 1),表示锚位于中心,一般使用默认值即可
int iterations = 1:迭代使用erode()函数的次数,默认值为1
int borderType = BORDER_CONSTANT:用于推断图像外部像素的某种边界模式。注意它有默认值BORDER_DEFAULT
const Scalar& borderValue = morphologyDefaultBorderValue():当边界为常数时的边界值,有默认值morphologyDefaultBorderValue()


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV是一个广泛用于计算机视觉和图像处理的开源库。腐蚀膨胀OpenCV中常用的图像处理操作之一,用于改变图像的形状和结构。 腐蚀(Erosion)是指通过对图像进行局部最小值操作来减小或磨损图像中的前景物体。它可以用于去除噪声或者分离连通的物体。 膨胀(Dilation)与腐蚀相反,通过对图像进行局部最大值操作来增加或扩大图像中的前景物体。它可以用于填充图像中的空洞或者连接连通的物体。 在OpenCV中,可以使用函数`cv2.erode()`进行腐蚀操作,使用函数`cv2.dilate()`进行膨胀操作。这两个函数需要传入待处理的图像和一个结构元素作为参数。结构元素定义了操作的形状和大小。 下面是一段示例代码,展示如何在OpenCV中使用腐蚀膨胀操作: ```python import cv2 import numpy as np # 读取图像 img = cv2.imread('image.jpg', 0) # 定义结构元素 kernel = np.ones((5,5), np.uint8) # 腐蚀操作 erosion = cv2.erode(img, kernel, iterations=1) # 膨胀操作 dilation = cv2.dilate(img, kernel, iterations=1) # 显示结果 cv2.imshow('Erosion', erosion) cv2.imshow('Dilation', dilation) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这段代码中,我们首先读取了一张图像,然后定义了一个5x5的矩形结构元素。接下来,对图像进行了腐蚀膨胀操作,并使用`cv2.imshow()`函数显示了结果。 注意,腐蚀膨胀操作可以通过调整结构元素的大小和迭代次数来控制处理效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值