opencv中morphologyEx()函数

函数原型

CV_EXPORTS_W void morphologyEx( InputArray src, OutputArray dst,
                                int op, InputArray kernel,
                                Point anchor = Point(-1,-1), int iterations = 1,
                                int borderType = BORDER_CONSTANT,
                                const Scalar& borderValue = morphologyDefaultBorderValue() );
/** @brief Performs advanced morphological transformations.

The function morphologyEx can perform advanced morphological transformations using an erosion and dilation as
basic operations.

Any of the operations can be done in-place. In case of multi-channel images, each channel is
processed independently.

@param src Source image. The number of channels can be arbitrary. The depth should be one of
CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
@param dst Destination image of the same size and type as source image.
@param op Type of a morphological operation, see cv::MorphTypes
@param kernel Structuring element. It can be created using cv::getStructuringElement.
@param anchor Anchor position with the kernel. Negative values mean that the anchor is at the
kernel center.
@param iterations Number of times erosion and dilation are applied.
@param borderType Pixel extrapolation method, see cv::BorderTypes
@param borderValue Border value in case of a constant border. The default value has a special
meaning.
@sa  dilate, erode, getStructuringElement
 */

参数解释

  • src:源图像
  • dst:目标图像
  • op:操作代号
代号含义作用
0MORPH_ERODE腐蚀运算(Erode operation)
1MORPH_DILATE膨胀运算(Dilate operation)
2MORPH_OPEN开运算(Opening operation)
3MORPH_CLOSE闭运算(Closing operation)
4MORPH_GRADIENT形态学梯度(Morphological gradient)
5MORPH_TOPHAT“顶帽”(Top hat)
6MORPH_BLACKHAT“黑帽”(Black hat)
7MORPH_HITMISS
  • kernel:核(用于膨胀操作的结构元素),可使用getStructuringElement()方法创建
  • anchor:锚点坐标,为负代表核的中心坐标
  • iterations:迭代次数
  • borderType:像素外推方法,具有默认值 BORDER_CONSTANT
  • borderValue:边界为常数时的边界值,有默认值morphologyDefaultBorderValue()

例子

opencv形态学操作函数morphologyEx
morphologyEx(形态学操作)

相关函数

opencv getStructuringElement函数 图形学运算前获得kernel元素

参考博客

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCVmorphologyEx 函数是一个形态学操作,它可以用于图像处理的图像增强和特征提取。该函数可以执行各种形态学操作,包括膨胀、腐蚀、开运算、闭运算等。它可以处理二值图像和灰度图像。 下面是 morphologyEx 函数的语法: ``` void morphologyEx(InputArray src, OutputArray dst, int op, InputArray kernel, Point anchor=Point(-1,-1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue() ) ``` 其,参数的含义如下: - src:输入图像。 - dst:输出图像。 - op:形态学操作类型,可以是 MORPH_OPEN、MORPH_CLOSE、MORPH_GRADIENT、MORPH_TOPHAT、MORPH_BLACKHAT 等。 - kernel:结构元素,可以是矩形、椭圆、十字形等。 - anchor:结构元素的锚点,默认为 (-1, -1),表示心点。 - iterations:操作次数,默认为 1。 - borderType:边缘处理方式,默认为 BORDER_CONSTANT。 - borderValue:边缘像素值,默认为 morphologyDefaultBorderValue()。 下面给出一个例子,展示如何使用 morphologyEx 函数进行膨胀操作: ```python import cv2 img = cv2.imread('image.png', 0) kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5)) dilate_img = cv2.morphologyEx(img, cv2.MORPH_DILATE, kernel) cv2.imshow('original', img) cv2.imshow('dilate', dilate_img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在上面的例子,我们首先读取了一张灰度图像,然后创建了一个大小为 (5, 5) 的矩形结构元素,最后使用 morphologyEx 函数对图像进行膨胀操作,并显示原始图像和膨胀后的图像。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值