IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 形态学操作(1)--腐蚀和膨胀等操作的相关API(opencv学习记录--5) -> 正文阅读

[人工智能]形态学操作(1)--腐蚀和膨胀等操作的相关API(opencv学习记录--5)

1.腐蚀和膨胀

就不说腐蚀和膨胀的原理了,这方面已经有大佬讲的老好了:

参考博客:数学形态学运算——腐蚀、膨胀、开运算、闭运算_Chaolei3的博客-CSDN博客_膨胀运算

形态学操作的原理可以说都是基于腐蚀和膨胀的,所以主要搞明白这两个便可以了,但是运用方面我觉得还是多去看别人的案例和尝试吧。

1.腐蚀API

CV_EXPORTS_W void erode( InputArray src, OutputArray dst, InputArray kernel,
                         Point anchor = Point(-1,-1), int iterations = 1,
                         int borderType = BORDER_CONSTANT,
                         const Scalar& borderValue = morphologyDefaultBorderValue() );
  • src 传入图像
  • dst 输出图像
  • kernel 用来表示卷积核,一般用getStructuringElement函数来构建这个矩阵(不知道可以去看一下原理)
  • anchor 锚点位置(默认值Point(-1,-1)为中心位置)
  • iterations 腐蚀执行的次数
  • borderType 边缘类型

不同类型可以参考这篇博客:

python+opencv笔记(2)——边缘填充 - 老猫巴扎黑 - 博客园 (cnblogs.com)

  • borderValue 边缘值

函数的常见引用方式

Mat getStructuring = getStructuringElement(MORPH_RECT, Size(s, s), Point(-1, -1));
erode(img, img2, getStructuring);
//主要就是输入输出和卷积核

2.膨胀API

CV_EXPORTS_W void dilate( InputArray src, OutputArray dst, InputArray kernel,
                          Point anchor = Point(-1,-1), int iterations = 1,
                          int borderType = BORDER_CONSTANT,
                          const Scalar& borderValue = morphologyDefaultBorderValue() );

函数的传入参数和erode一样

最简单的引用也是给定输入输出和卷积核就行

2.其他形态学操作

开操作

对图像先进行腐蚀再进行膨胀然后输出

闭操作

对图像先进行膨胀再进行腐蚀然后输出

形态学梯度

膨胀后的结果减去腐蚀后的结果(基本梯度

其他还有内部梯度方向梯度(基本API不支持)

顶帽

原图像和开操作之间的差值图像

黑帽

闭操作和源图像的差值图像

相关API(上述都是用的同一个API)

morphologyEx(src, dest, CV_MOP_BLACKHAT, kernel);
 - Mat src – 输入图像
 - Mat dest – 输出结果
 - int OPT – CV_MOP_OPEN/ CV_MOP_CLOSE/ CV_MOP_GRADIENT / CV_MOP_TOPHAT/ CV_MOP_BLACKHAT 形态学操作类型
Mat kernel 结构元素
int Iteration 迭代次数,默认是1

CV_MOP_OPEN 开操作

CV_MOP_CLOSE 闭操作

CV_MOP_GRADIENT 梯度操作

CV_MOP_TOPHAT 顶帽

CV_MOP_BLACKHAT 黑帽

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-01-11 23:59:55  更:2022-01-12 00:01:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 15:37:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码