OPenCV版本:4.4

IDE:VS2017

功能描述

简述:执行先进的形态学的变换。

函数 cv::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() );

参数描述

  • 参数 src 源图像.通道的数量可以是任意的,但是深度值应该是以下之一:
    CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.

  • 参数 dst 和源图像同样大小和类型的目标图像。

  • 参数 op 形态学操作的类型, 详见:MorphTypes

  • 参数 kernel 结构元素。Kernel 可以通过使用getStructuringElement来创建。

  • 参数 anchor 元素中的锚点的位置,负值表示锚点在核中心。

  • 参数 iterations 腐蚀和膨胀的迭代次数。

  • 参数 borderType 像素外推方法。详见:BorderTypes, BORDER_WRAP不支持。

  • 参数 borderValue 固定边缘的情况下的边缘值。缺省值含有一个特殊的意义 。The default value has a special
    meaning.

    参考 dilate, erode, getStructuringElement

源码示例

#include <iostream>
#include <opencv2/opencv.hpp>int main()
{cv::Mat image = cv::imread("D:\\OpenCVtest\\images\\gradient.png");if (image.empty()){std::cout << "image read failed!" << std::endl;cv::waitKey(0);return 0;}//自定义核cv::Mat element = getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5));//梯度运算cv::Mat result;cv::morphologyEx(image, result, cv::MORPH_GRADIENT, element, cv::Point(-1, -1), 2);cv::imshow("原图", image);cv::imshow("梯度运算结果图", result);cv::waitKey(0);return 0;
}

运行结果:

梯度运算后的图像:

OpenCV形态学变换函数morphologyEx()梯度运算的使用相关推荐

  1. OpenCV形态学变换函数morphologyEx()顶帽运算的使用

    OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换的顶帽运算. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何 ...

  2. OpenCV形态学变换函数morphologyEx()闭运算的使用

    OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何操作都能就 ...

  3. OpenCV形态学变换函数morphologyEx()开运算的使用

    OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何操作都能就 ...

  4. OpenCV形态学变换函数morphologyEx()黑帽运算的使用

    OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换的黑帽运算. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何 ...

  5. opencv 形态学变换 morphologyEx函数

    opencv 形态学变换 morphologyEx函数 demo:http://download.csdn.net/detail/keen_zuxwang/9852594 高级形态学变换: 开运算: ...

  6. 【新星计划】Python OpenCV 形态学应用—图像开运算与闭运算

    开运算  开运算=先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了) 开运算的效果图如下图所示: 开运算总结: (1)开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不便. (2)开 ...

  7. OpenCV 形态学操作之腐蚀与膨胀,开运算与闭运算,顶帽与黑帽,图像梯度运算相关知识点回顾

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 45 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...

  8. python --opencv图像处理形态学(开运算、闭运算、梯度运算、顶帽运算、黑帽运算)

    引言 前面介绍了图像形态学的两种基础算法,图像腐蚀和图像膨胀,本篇接着介绍图像形态学中的开运算.闭运算以及梯度运算. 需要了解清楚图像的腐蚀与膨胀基础原理,不然真的没办法理解开运算和闭运算. 第一件事 ...

  9. 图像的形态学开操作(开运算)和闭操作(闭运算)的概念和作用,并用OpenCV的函数morphologyEx()实现对图像的开闭操作

    大家看这篇博文前可以先看一看下面这篇博文,下面这篇博文是这篇博文的基础: 详解图像形态学操作之图形的腐蚀和膨胀的概念和运算过程,并利用OpenCV的函数erode()和函数dilate()对图像进行腐 ...

最新文章

  1. 开篇有益-解析微软微服务架构eShopOnContainers(一)
  2. 工业互联网 — 5G TSN
  3. 编程语言python入门要电脑什么配置能带动-Python是万能的编程语言吗?这五大用途很重要!...
  4. 搭建xss-platform平台
  5. Apollo自动驾驶入门课程第⑦讲 — 规划(上)
  6. 单机单网卡最大tcp长连接数真的是65535吗?
  7. hmailserver php,hmailserver关于afterlogic webmail php版本下的用户密码修改功能
  8. 解决iframe在ios中无法滚动的bug
  9. elemenetui 布局_2020 零基础到快速开发 Vue全家桶开发电商管理系统(Element-UI)主页布局开发-Go语言中文社区...
  10. 本地访问网站好使外网不好用 可能是防火墙端口
  11. eBay和PayPal公布分拆细节:双方还将紧密合作。
  12. L1-062 幸运彩票 (15 分)
  13. docker的安装与加速器的配置
  14. 故障恢复 stm32_77条STM32知识,千万不能错过!干货
  15. risksystem_环境风险评价系统(RiskSystem)
  16. 使用ceph-deploy 部署集群
  17. navicat 12 for mac 中文破解版使用说明
  18. oracle x$bh 权限,关于Oracle的事务
  19. div中img居中显示
  20. Es 模糊查询 match,wildcard

热门文章

  1. boost::geometry::model::infinite_line用法的测试程序
  2. GDCM:提取DICOM文件的加密内容到der文件的测试程序
  3. GDCM:dicom文件的SHA1测试程序
  4. VTK:IO之ReadLegacyUnstructuredGrid
  5. C++使用位操作将数字乘以7的算法实现(附完整源码)
  6. OpenGL基本窗口和OpenGL 初始化
  7. OpenGL 泛光Bloom
  8. C++实现tree234树(附完整源码)
  9. C++ Opengl 显示TGA文件和扩展名源码
  10. C语言字符串库函数api