C++ opencv 图像形态学、膨胀、腐蚀、闭、开、顶帽、黑帽

图像形态学

形态学源于动物学与生物学。图像形态学主要研究图像的形态特征,实际表现为图像像素之间的关系。
图像像素与邻域像素进行特定的逻辑操作,操作的结果即为形态特征。

形态学图像处理的基本运算有4个:膨胀、腐蚀、开操作和闭操作
形态学的主要应用:边界提取、区域填充、连通分量的提取、凸壳、细化、粗化等

链接:图像形态学

本文头文件以及使用的命名空间

#pragma once
#include <opencv2\opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

获取结构元素(getStructuringElement())

在进行图像形态学操作前,需要获取图像结构元素。它类似于卷积与滤波中对图像操作的卷积核,opencv中使用getStructuringElement()获取特定形状与大小的结构元素,在被用于后续的形态学操作中。

在这里插入图片描述

shape :结构元素的形状,MORPH_RECT矩形 MORPH_CROSS十字形 MORPH_ELLIPSE椭圆
ksize : 结构元素的大小
anchor :结构元素的锚点,默认为中心点

膨胀(dilate())

在这里插入图片描述

src : 输入图像
dst : 输出图像
kernel : 结构元素,由getstructelement获得
anchor : 结构元素的锚点,默认中心
iteration : 膨胀的次数

测试代码:这里使用morphologyEx函数,内部也是调用dilate函数

//膨胀
	Mat m1 = imread(path8, 1);
	Mat m2;
	Mat kernel = getStructuringElement(MORPH_RECT, Size(7, 7), Point(-1, -1));
	morphologyEx(m1, m2, MORPH_DILATE, kernel);
	namedWindow("truth image", WINDOW_AUTOSIZE)
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值