OpenCV形态学变换函数morphologyEx()黑帽运算的使用
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()黑帽运算的使用相关推荐
- OpenCV形态学变换函数morphologyEx()顶帽运算的使用
OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换的顶帽运算. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何 ...
- OpenCV形态学变换函数morphologyEx()梯度运算的使用
OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何操作都能就 ...
- OpenCV形态学变换函数morphologyEx()闭运算的使用
OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何操作都能就 ...
- OpenCV形态学变换函数morphologyEx()开运算的使用
OPenCV版本:4.4 IDE:VS2017 功能描述 简述:执行先进的形态学的变换. 函数 cv::morphologyEx使用腐蚀和膨胀的作为基本的操作来进行高级的形态学的变换. 任何操作都能就 ...
- python --opencv图像处理形态学(开运算、闭运算、梯度运算、顶帽运算、黑帽运算)
引言 前面介绍了图像形态学的两种基础算法,图像腐蚀和图像膨胀,本篇接着介绍图像形态学中的开运算.闭运算以及梯度运算. 需要了解清楚图像的腐蚀与膨胀基础原理,不然真的没办法理解开运算和闭运算. 第一件事 ...
- 形态学上的图像顶帽运算和黑帽运算是什么?
作者 | 杨秀璋 责编 | 夕颜 出品 | CSDN博客 数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论.其 ...
- [Python图像处理] 十.形态学之图像顶帽运算和黑帽运算
该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...
- Open_CV形态学运算专题 (腐蚀膨胀、开闭运算、梯度运算、顶帽运算黑帽运算 )【Python-Open_CV系列(十)】
Open_CV形态学运算专题 之 腐蚀&膨胀.开&闭运算.梯度运算.顶帽运算黑帽运算 [Python-Open_CV系列(十)] 文章目录 1. 腐 ...
- C# EMGU 3.4.1学习笔记(三)综合示例:形态学滤波(腐蚀/膨胀、开运算/闭运算、顶帽运算/黑帽运算)
以下是<OpenCV3编程入门>中6.4.9的示例程序的C# + EMGU 3.4.1版: 有任何问题或疑问,欢迎交流探讨. using System; using System.Coll ...
最新文章
- 计算机应用a级考试,四川省职称计算机应用能力考试A级模拟题
- KS004 基于SSH通讯录系统设计与实现
- mysql数据库连接过多的错误,可能的原因分析及解决办法
- mysql相关文献及翻译_MySQL数据库管理外文翻译文献中英文.doc
- Inline函数使用注意事项
- X264代码中一些参数的意义
- 一步步编写操作系统 62 函数调用约定
- eclipse mat 分析dump文件,打开文件报错,out of memeory
- http抓包实践--(五)-常用的操作
- VS2010的详细安装
- windows下Redis多实例部署
- Matlab-信号处理工具箱
- linux4.6内核lcd驱动源代码,提供基于linux-2.6.32.2 内核100%完全可以使用的驱动源代码,绝无库文件,敬请放心使用。...
- python高级函数_python高级之函数
- 为Visual Studio创建项目模板(VSIX / C#/ 2019)
- centos7 开机自动启动程序
- sqlnet.ora
- Captcha Cracker (java)附带replace用法
- 自动化测试遇到的难点_自动化测试不成功的原因和实施过程中存在的问题
- iOS7 tabbar遮盖tableview的cell解决方法
热门文章
- boost::mpl模块实现remove_if相关的测试程序
- boost::log::keywords::format用法的测试程序
- boost::hana::front用法的测试程序
- boost::hana::product用法的测试程序
- boost::parallel::distributed_property_map用法的测试程序
- GDCM:gdcm::SequenceOfItems的测试程序
- boost::callable_traits的remove_member_cv_t的测试程序
- C++实现Dijkstra(迪杰斯特拉)算法(附完整源码)
- C++STL常用拷贝和替换算法
- html给网页加图片背景颜色,0035 如何设置网页背景图和在网页中插入图片