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

标签 c++ opencv image-processing scikit-image watershed

我需要在深度图像上找到局部峰值,以生成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

关于c++ - 什么是本地峰值检测器skimage.feature.peak_local_max的C++实现或类似物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63434800/

相关文章:

python - 如何使用OTSU阈值设定仅取一部分图像的阈值?

python - 如何在 python 中将图像转换为 16 位 zip (deflate) 压缩的 TIF?

c++ - 错误 c2338 C++ 标准不提供此类型的散列

c++ - 有没有办法使 unique_ptr 的实例化不那么冗长?

c++ - 无法找到/打开输入级联

python - QLabel 在 OpenCV 图像处理后没有更新图像

c++ - 为什么 G++ 不为不返回任何内容的模板方法生成警告?

c++ - SDL 在 OSX lion 上与终端/g++ 链接错误

python - 在 python (cv2) 中使用 OpenCV 增加彩色图像对比度的最快方法是什么?

c# - 求源码.NET图像处理 "lasso"选择器