OpenCV实践之MSER/MSCR极值区域检测算法

MSER/MSCR极值区域检测算法

  OpenCV中features2d.hpp中MSER类接口实现了MSER极值区域检测算法,MSER类根据输入参数判断是否为彩色or灰度图像进行不同的算法检测。若输入为灰度图像,那么采取MSER极值区域检测算法,若输入为彩色图像,则采用MSCR极值区域检测算法。关于MSER接口函数类如下:

  OpenCV中封装MSER算法提供两个功能,分别对灰度图像或者彩色图像进行极值区域检测。如果输入为灰度图像,则采用MSER算法(主要采用分水岭算法进行极值区域检测MSER+ MSER-)然后进行极(大、小)值区域合并。如果输入图像为彩色图像,那么采取MSCR算法进行极值区域检测:MSCR是通过通过采用凝聚聚类算法,将图像中的像素值按照某一种规定的相似度准则进行合并来完成区域间提取。具体细节可参考论文Maximally Stable Color Regions for Recognition and Matching 博客Opencv2.4.9源码分析——MSCR 进行查阅。

OpenCV之MSER/MSCR检测代码


  上述代码直接调用OpenCV库中的MSER类进行极值区域提取,代码比较简单在此不做分析。同时计算MSCR过程中需要将RGB图像转换至YCrCb颜色空间中。

实验结果


MSER检测结果(左) MSCR检测结果(右) 检测点数与时间对比

通过实验对比来看,MSCR算法耗时确实高于MSER算法,但是疑惑之处在于MSCR检测出极值区域数少于MSER算法。无论MSER还是MSCR检测都是采取OpenCV默认缺省函数参数设置,当然可以直接使用作者提供的MSCR源代码进行测试,目前我还没有使用。后续进行测试后会进行分析其中的原因。
如有错误,还请批评指正!

参考

http://users.isy.liu.se/cvl/perfo/software/
https://link.springer.com/chapter/10.1007%2F978-3-540-88688-4_14

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值