opencv学习笔记九侵蚀与扩张
一.目标
应用两个非常常见的形态运算符:侵蚀和扩张。将使用以下OpenCV功能:
1.cv::erode
2.cv::dilate
二.形态作业
简而言之:一组基于形状处理图像的操作。形态操作将结构元素应用于输入图像并生成输出图像。
最基本的形态作用是:侵蚀和扩张。
三.用途
1.消除噪音
2.隔离单个元素并连接图像中的不同元素。
3.查找图像中的强度凸点或孔
四.扩张
当内核在图像上扫描时,我们计算由B重叠的最大像素值,并用该最大值替换锚点位置中的图像像素。您可以推断,这种最大化的操作会使图像中的亮区“增长”(因此称为扩张)。
五.侵蚀
这个操作是扩张的姊妹。它计算给定内核区域的局部最小值。
当内核在图像上扫描时,我们计算由重叠的最小像素值,并用该最小值替换锚点下的图像像素
六.Code
#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,