matlab的imregionalmax()与scipy.ndimage.filters.maximum_filter有什么区别

use*_*985 3 python matlab image-processing scipy

我需要找到图像的区域最大值以获得分水岭分割的前景标记.我在matlab中看到使用该函数imregionalmax().由于我没有matlab软件,我使用的是函数scipy.ndimage.filters.maximum_filter().但是,结果来自imregionalmax()scipy.ndimage.filters.maximum_filter()不同.

请帮我看看如何找出图像的区域最大值.非常感谢您的帮助.

Sha*_*hai 6

似乎scipy maximum_filter返回实际的局部最大值,而Matlab imregionalmax返回一个带有局部最大值位置的掩码.
我期待

 lm = scipy.ndimage.filters.maximum_filter( img, ... )
 msk = (img == lm) #// convert local max values to binary mask
Run Code Online (Sandbox Code Playgroud)

应该给你类似Matlab的结果.