【发布时间】:2013-01-11 09:41:50
【问题描述】:
使用 detectMSERFeatures 从 Matlab 中的图像中找到最大稳定极值区域 (MSER)。
是否有任何补丁或方法可以从 Matlab 中获取 分层 MSER 组件树?
这棵树无论如何都是在 Matlab 计算区域时生成的——它只返回每个区域树中最“稳定”的组件。由于这棵树已经存在,我正在寻找将其公开给来自 Matlab 库的用户代码的方法,这使这部分保持隐藏并仅提供最终的“最大稳定”区域。
任何东西都是可以接受的——修改 Matlab 内置代码、补丁、hack 等等。 (我意识到 OpenCV 有这样的补丁,但是我试图避免移植到 OpenCV,因为大多数其他程序都是用 Matlab 编写的)。
编辑:(来自原hierarchical MSER paper)
Detected MSERs(左),MSER Tree(右)
【问题讨论】:
-
您可以尝试使用 OpenCV Mex 函数并简单地从 Matlab 内部调用 OpenCV 函数。有几个用于 Matab 的 OpenCV 的 Mex 实现可用。但是,默认 OpenCV MSER 函数的补丁不太可能具有 Mex。在这种情况下,您可以尝试自己编译。
-
您也可以尝试在VLFeat toolbox 中查看
vl_mser的实现... -
您可以尝试查看 Matlab 代码
detectMSERFeatures.m。此外,您可以检查 Matlab 是否使用了大量 OpenCV 代码,因此可能 Matlab 无法访问 OpenCV 的中间信息 -
detectMSERFeatures.m只是调用了 mex 函数ocvExtractMSER,这意味着您无法仅使用 MATLAB 代码来执行此操作。我同意@RiddhimanDasgupta 的观点,即寻找(或自己编译)原始 OpenCV 函数的 Mex 版本以及您想要公开的输出是一个好方法。 -
看看这个链接,有人做了补丁。 code.ros.org/trac/opencv/ticket/1577
标签: matlab image-processing computer-vision matlab-cvst