用形态学运算变换图像(二)用形态学滤波器开启和闭合图像

(二)用形态学滤波器开启和闭合图像
2.1 实现
为了应用较高级别的形态学滤波器,需要用cv::morphologyEx 函数,并传入对应的函数代码。
闭合运算的调用方法:
/ /闭合图像
cv::Mat element5(5,5,CV_8U,cv:Scalar(1));
cv::Mat closed;
cv::morphologyEx(image,closed,cv::MORPH_CLOSE,element5);
输入图像,输出图像,运算符,结构元素
开启运算的调用方法:
cv::Mat opened;
cv::morphologyEx(image,opened,cv::MORPH_OPEN,element5);
输入图像,输出图像,运算符,结构元素
2.2 原理
开启与闭合滤波器的定义,只与基本的腐蚀与膨胀运算有关。闭合,即对图像先膨胀后腐蚀;开启,即图像先腐蚀后膨胀。
对图像做闭合运算如下:
//膨胀原图像
cv::dilate(image,result,cv::Mat());
//就地腐蚀膨胀后的图像
cv::erode(image,image,cv::Mat());
调换这两个函数的调用次序,即可得到开启滤波器。
闭合滤波器的结果:
a白色前景物体中的小空隙已经被填满;
b会把邻近的物体连接起来;
c所有小到不能容纳完整结构元素的空隙或间隙都会被消除;
开启滤波器的结果:
a消除了背景中的几个小物体;
b所有小到不能容纳完整结构元素的物体都会被移除;
异同点:
a 常用于目标检测;
b 闭合可把错误分裂成小碎片的物体连接起来;开启可移除因图像
噪声产生的斑点;
c 根据需要按一定顺序调用这些滤波器。如果优先考虑过滤噪声,
可先开启后闭合,缺点是会消除部分物体碎片。
d 对同一图像进行多次同的开启(或者闭合)运算是没有作用的,
第一次使用后,继续使用同一滤波器,不会使图像产生变化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值