【OpenCV】腐蚀膨胀
腐蚀:
Erosion is the sister of dilation. It computes a local minimum over the area of given kernel.
膨胀:
compute the maximal pixel value overlapped by B and replace the image pixel in the anchor point position with that maximal value.
代码示例
#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"using namespace cv;Mat src, erosion_dst, dilation_dst;int erosion_elem = 0;
int erosion_size = 0;
int dilation_elem = 0;
int dilation_size = 0;
int const max_elem = 2;
int const max_kernel_size = 21;void Erosion(int, void*);
void Dilation(int, void*);int main(int, char** argv)
{const char* filename = "../data/lena.jpg";src = imread(filename, IMREAD_COLOR);if (src.empty()){ return -1;}namedWindow("Erosion Demo", WINDOW_AUTOSIZE);namedWindow("Dilation Demo", WINDOW_AUTOSIZE);moveWindow("Dilation Demo", src.cols, 0);createTrackbar("Element", "Erosion Demo", // 腐蚀方法&erosion_elem, max_elem, Erosion);createTrackbar("Kernel", "Erosion Demo", // 腐蚀掩模大小&erosion_size, max_kernel_size, Erosion); createTrackbar("Element", "Dilation Demo", // 膨胀方法&dilation_elem, max_elem, Dilation);createTrackbar("Kernel", "Dilation Demo", // 膨胀掩模大小&dilation_size, max_kernel_size, Dilation);Erosion(0, 0);Dilation(0, 0);waitKey(0);return 0;
}void Erosion(int, void*)
{int erosion_type = 0;if (erosion_elem == 0) { erosion_type = MORPH_RECT; }else if (erosion_elem == 1) { erosion_type = MORPH_CROSS; }else if (erosion_elem == 2) { erosion_type = MORPH_ELLIPSE; }Mat element = getStructuringElement(erosion_type, Size(2 * erosion_size + 1, 2 * erosion_size + 1), Point(erosion_size, erosion_size));erode(src, erosion_dst, element); // 腐蚀imshow("Erosion Demo", erosion_dst);
}void Dilation(int, void*)
{int dilation_type = 0;if (dilation_elem == 0) { dilation_type = MORPH_RECT; } // 矩形else if (dilation_elem == 1) { dilation_type = MORPH_CROSS; } // 十字型else if (dilation_elem == 2) { dilation_type = MORPH_ELLIPSE; } // 椭圆Mat element = getStructuringElement(dilation_type, Size(2 * dilation_size + 1, 2 * dilation_size + 1), Point(dilation_size, dilation_size));dilate(src, dilation_dst, element); // 膨胀imshow("Dilation Demo", dilation_dst);
}
运行结果
【OpenCV】腐蚀膨胀相关推荐
- matlab 腐蚀算法,【zz】matlab 腐蚀膨胀算法
1.图像膨胀的Matlab实现: 可以使用imdilate函数进行图像膨胀,imdilate函数需要两个基本输入参数,即待处理的输入图像和结构元素对象.结构元素对象可以是strel函数返回的对象,也可 ...
- OpenCV腐蚀和膨胀Eroding and Dilating
OpenCV腐蚀和膨胀Eroding and Dilating 腐蚀和膨胀Eroding and Dilating 目标 形态运算 膨胀 侵蚀 代码 解释 腐蚀功能 膨胀功能 结果 腐蚀和膨胀Erod ...
- OpenCV学习笔记(七):形态学morpholgy(1):腐蚀/膨胀:enrode(),dilate()
OpenCV学习笔记(七):形态学(morpholgy):腐蚀/膨胀:enrode(),dilate() 数学形态学(Mathematical morphology) 是一门建立在格论和拓扑学基础之上 ...
- python opencv 图像膨胀
python opencv 图像膨胀 代码: import cv2 import numpy as np # 图像膨胀 def dilate_img(img,a,iterations):kernel ...
- halcon区域腐蚀膨胀算子_OpenCV 图像处理之膨胀与腐蚀
1.什么是膨胀与腐蚀 膨胀与腐蚀属于形态学范围,具体的含义根据字面意思来理解即可.但是更形象的话就是"增肥"与"减肥". 它们的用途就是用来处理图形问题上.总结 ...
- 图像的平滑滤波、边缘检测、阈值化、腐蚀膨胀等原理介绍
一幅图像可以定义为一个二维函数f(x,y)f(x,y)f(x,y),其中xxx和yyy是空间/平面坐标,而在任何一对空间坐标(x,y)(x,y)(x,y)处的幅值fff称为图像在该点处的强度或灰度 ...
- C语言二值图的腐蚀膨胀及开闭运算
(M2C系列)C语言二值图的形态学腐蚀膨胀及开闭运算 一.结构元 二.腐蚀 三.膨胀 四.开闭运算 五.其他 by HPC_ZY 由于剧情,需要纯C(不用三方库)实现图像算法.但作为一名MATLAB老 ...
- FPGA实现图像二值形态学滤波——腐蚀膨胀
一.二值图像 二值图像(Binary Image)是指图像上的每一个像素只有两种可能的取值或灰度等级状态.简言之,在图像中灰度等级只有两种0或255(黑或白). 二.形态学 形态学,即数学形态学(Ma ...
- Open_CV形态学运算专题 (腐蚀膨胀、开闭运算、梯度运算、顶帽运算黑帽运算 )【Python-Open_CV系列(十)】
Open_CV形态学运算专题 之 腐蚀&膨胀.开&闭运算.梯度运算.顶帽运算黑帽运算 [Python-Open_CV系列(十)] 文章目录 1. 腐 ...
- matlab膨胀检测,matlab腐蚀膨胀算法
Matlab图像处理知识(四) ? 膨胀 ? 腐蚀 ? 开运算闭运算 ? 击中击不中 ? 结合进行图像预处理 膨胀 ? 原理:膨胀是在图像中"增长"或"变粗"的 ...
最新文章
- 谷歌全新轻量级新模型ALBERT刷新三大NLP基准
- EngJS(超轻量) 中数据双向绑定如何使用
- 顺序查找计时函数C语言,用C语言编二分查找
- 深度神经网络的分布式训练概述:常用方法和技巧全面总结
- Cisco对中国CCIE认证下重手了
- 事务流程java怎么实现_使用队列和事务实现采集数据实例流程
- python 干什么工作具有明显优势-科多大数据告诉你Python为什么这么牛?学习python有什么优势?...
- 38. 后台模块开发(3)
- Java中多态的实例
- 39. 二叉树的深度(C++版本)
- 新手学c还是java_80x86汇编小站,新手学c还是java
- 计算两向量的旋转角(转)
- 蚂蚁支付宝小程序开发从零开始[含demo]
- Android最新技术-Android11周
- 江苏咪咕MGV3000_YST代工_S905L3_线刷固件包
- ibm邮件怎么撤回_请问LotusNotes具备发出邮件后撤回 – 手机爱问
- 乾坤物联-UWB定位基站和定位信标的区别
- 关于计算机的手抄报知识,电子手抄报
- <计算机视觉 六> 深度学习目标检测模型的评估标准
- 类在c++中的初步运用
热门文章
- python怎么操作_python怎么操作mysql
- pytorch学习笔记(二十六):NIN
- AcWing1074. 二叉苹果树(树形DP)题解
- PicoDet论文译读笔记
- MQTT通信协议的简介、特点及实现原理 - 第1章
- 各厂商磁编码器对比,AS5047、AS5048、AS5600、TLE5012、MA730
- Redis数据结构、持久化、缓存技术和集群详解
- Scrum立会报告+燃尽图(Beta阶段第一次)
- NOIP模拟 整数划分(数论,质因数分解,状压DP)
- k64 datasheet学习笔记3---Chip Configuration之System modules