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 固定边缘的情况下的边缘值。缺省值含有一个特殊的意义 。

    参考 dilate, erode, getStructuringElement

源码示例

#include <iostream>
#include <opencv2/opencv.hpp>int main()
{cv::Mat image = cv::imread("D:\\OpenCVtest\\images\\black.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_BLACKHAT, 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. python --opencv图像处理形态学(开运算、闭运算、梯度运算、顶帽运算、黑帽运算)

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

  6. 形态学上的图像顶帽运算和黑帽运算是什么?

    作者 | 杨秀璋 责编 | 夕颜 出品 | CSDN博客 数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论.其 ...

  7. [Python图像处理] 十.形态学之图像顶帽运算和黑帽运算

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  8. Open_CV形态学运算专题 (腐蚀膨胀、开闭运算、梯度运算、顶帽运算黑帽运算 )【Python-Open_CV系列(十)】

      Open_CV形态学运算专题 之 腐蚀&膨胀.开&闭运算.梯度运算.顶帽运算黑帽运算               [Python-Open_CV系列(十)]   文章目录 1. 腐 ...

  9. C# EMGU 3.4.1学习笔记(三)综合示例:形态学滤波(腐蚀/膨胀、开运算/闭运算、顶帽运算/黑帽运算)

    以下是<OpenCV3编程入门>中6.4.9的示例程序的C# + EMGU 3.4.1版: 有任何问题或疑问,欢迎交流探讨. using System; using System.Coll ...

最新文章

  1. 计算机应用a级考试,四川省职称计算机应用能力考试A级模拟题
  2. KS004 基于SSH通讯录系统设计与实现
  3. mysql数据库连接过多的错误,可能的原因分析及解决办法
  4. mysql相关文献及翻译_MySQL数据库管理外文翻译文献中英文.doc
  5. Inline函数使用注意事项
  6. X264代码中一些参数的意义
  7. 一步步编写操作系统 62 函数调用约定
  8. eclipse mat 分析dump文件,打开文件报错,out of memeory
  9. http抓包实践--(五)-常用的操作
  10. VS2010的详细安装
  11. windows下Redis多实例部署
  12. Matlab-信号处理工具箱
  13. linux4.6内核lcd驱动源代码,提供基于linux-2.6.32.2 内核100%完全可以使用的驱动源代码,绝无库文件,敬请放心使用。...
  14. python高级函数_python高级之函数
  15. 为Visual Studio创建项目模板(VSIX / C#/ 2019)
  16. centos7 开机自动启动程序
  17. sqlnet.ora
  18. Captcha Cracker (java)附带replace用法
  19. 自动化测试遇到的难点_自动化测试不成功的原因和实施过程中存在的问题
  20. iOS7 tabbar遮盖tableview的cell解决方法

热门文章

  1. boost::mpl模块实现remove_if相关的测试程序
  2. boost::log::keywords::format用法的测试程序
  3. boost::hana::front用法的测试程序
  4. boost::hana::product用法的测试程序
  5. boost::parallel::distributed_property_map用法的测试程序
  6. GDCM:gdcm::SequenceOfItems的测试程序
  7. boost::callable_traits的remove_member_cv_t的测试程序
  8. C++实现Dijkstra(迪杰斯特拉)算法(附完整源码)
  9. C++STL常用拷贝和替换算法
  10. html给网页加图片背景颜色,0035 如何设置网页背景图和在网页中插入图片