社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python:在3D数组中找到局部最大值(图像堆栈)

T. Kau • 5 年前 • 636 次点击  

算法生成的热图如下所示:

enter image description here

到目前为止我用 skimage.feature.peak_local_max

现在我想运行模板匹配不同的旋转模板,这将给我几个热图。像这样:

enter image description here

我已经把这些图像叠加在一起创建了一个3D数组,现在我想在本地 . 例如,邻域定义为15像素宽和高(但包括所有旋转)。

三维阵列是有形状的 (高度、宽度、旋转)

编辑: 我自己找到了一个解决办法(从 肌氨酸 )如果有人有同样的问题,我会把这个贴在这里:

我看到了 scipy.ndimage.filters.maximum_filter (可以找到 here footprint = np.ones((size_neighborhood, size_neighborhood, nr_rotations)) .

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53058
 
636 次点击  
文章 [ 2 ]  |  最新文章 5 年前
markuscosinus
Reply   •   1 楼
markuscosinus    6 年前

实现这一目标的一种方法是:

  1. 查找每个旋转使用的局部极大值 skimage.feature.peak_local_max
  2. 每一个最大值 m (x,y,z) (x-n,y-n,y-n) (x+n,y+n,y+n) ,其中 n 是街区的大小。如果附近有一些,只保留最大的。

我知道,这在效率上不是很令人满意,但如果你没有太多或太大的照片,它应该完成工作:)

T. Kau
Reply   •   2 楼
T. Kau    6 年前

我自己找到了一个解决办法(从 肌氨酸

我看到了 scipy.ndimage.filters.maximum_filter (可以找到 here footprint = np.ones((size_neighborhood, size_neighborhood, nr_rotations)) .