gpt4 book ai didi

python - 使用 scipy.weave.inline 进行快速二维中值过滤

转载 作者:太空狗 更新时间:2023-10-30 01:03:16 24 4
gpt4 key购买 nike

我在处理大量图像时使用的 2D 中值滤波器(3x3 窗口)存在瓶颈,我想尝试优化它。我已经测试了 scipy.ndimage median_filter,以及 PILscipy.signalscikits-image。但是,浏览 SO 我了解到 C 中有一个快速的 O(n) 中值过滤器(恒定时间中的中值过滤请参阅 Rolling median algorithm in C ),我想知道我是否可以使用 scipy.weave 在 Python 中实现它。排队 ?关于替代路线的任何建议?

最佳答案

试试这个: Rolling median in C - Turlach implementation

http://ideone.com/8VVEa

用法:

Mediator* m = MediatorNew(9);
for (...)
{
MediatorInsert(m, value);
median = MediatorMedian(m);
}

我相信这与 R 算法相同,但更清晰(事实上,令人惊讶的是)。

您可以包装它,或者移植它并使用 Numba(或 Cython)。我想我会推荐 Numba 而不是 Cython,如果没有别的,因为它普通的旧 python 代码。

我建议将它添加到 scikits 中,如果它运行得比 scikits 中的已经快的话:)

关于python - 使用 scipy.weave.inline 进行快速二维中值过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com