OpenCV每日函数 特征检测和描述模块(4) MSER类(最大稳定极值区域提取器)

本文介绍了OpenCV中的MSER(最大稳定外部区域)特征检测器,它是从cv::Feature2D类继承的。MSER通过模拟水位上升过程,寻找在灰度图中面积变化较小的区域作为特征。它基于分水岭算法,通过比较不同水位下区域面积的变化来确定稳定性。文章详细讨论了MSER的原理、参数解释,并提供了源码路径和效果图像示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

        计算图像MSER的基础类是cv::MSER。它是一个抽象接口,继承自cv::Feature2D类。事实上,OpenCV中的所有特征检测类都是从这个类继承的。cv::MSER类的实例可以通过create方法创建。我们在初始化时指定被检测区域的最小和最大尺寸,以便限制被检测特征的数量。

OpenCvSharp.MSER mSER = OpenCvSharp.MSER.Create(5, 1000, 1440);
Mat mat = new Mat("G:\\2.bmp");
OpenCvSharp.Point[][] points;
Rect[] out1;
mSER.DetectRegions(mat, out points, out out1);
for (int i = 0; i < out1.Length; i++)
    Cv2.Rectangle(mat, out1[i], new Scalar(0, 0, 255));
Cv2.ImShow("mat", mat);

        MSER的原理与分水岭算法相同,即高度为0~255,逐渐淹没图像。在图像处理技术中,通常把高于某个阈值的像素集合称为高度集。随着水位的升高,颜色较黑并且边界陡峭的区域会形成盆地,并且在一段时间内有相对稳定的形状(用水位表示颜色,水位高低代表了像素值的强度)。这些稳定的盆地就是MSER。

        检测它们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坐望云起

如果觉得有用,请不吝打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值