什么是本地峰值检测器skimage.feature.peak_local_max的C ++实现或类似物?

问题描述

我需要在深度图像上找到局部峰值,以生成用于C ++中分水岭算法的标记。

我的Python实现使用 skimage.feature.peak_local_max 生成分水岭算法的标记。

找不到 skimage.feature.peak_local_max 函数的 C ++实现 C ++类似物

一些为矩阵找到局部最大值的算法也可能会有所帮助。

distance = scipy.ndimage.distance_transform_edt(image)
local_maxi = skimage.feature.peak_local_max(distance,indices=False,footprint=np.ones((3,3)),labels=image)
markers = scipy.ndimage.label(local_maxi)[0]
labels = skimage.segmentation.watershed(-distance,markers,mask=image)

Example of the peak finder

请问有关本地峰值查找器的C ++实现的任何想法?谢谢!

解决方法

如果您要使用纯C ++实现,建议您看一下ITK。 ITK的RegionalMaximalImageFilter类将生成一个二进制图像,其前景表示局部最大值。它甚至适用于局部最大值恒定的“平坦”区域。此链接显示了一个示例:RegionalMaximal

原始图片:

Original Image

本地千里马图片:

Local Maxima

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...