python方差的计算公式_高效计算图像python的方差

您可以使用著名的sliding window stride trick来加快计算速度。它在不复制数据的情况下将两个“虚拟维度”添加到数组的末尾,然后计算它们之间的方差。在

注意,在您的代码中,im[j-w:j+w, ..]覆盖了索引j-w,j-w+1,...,j+w-1,最后一个是排他的,这可能不是您的意思。另外,方差大于uint8的范围,因此最终得到整数环绕。在import numpy as np

import time

np.random.seed(1234)

img = (np.random.rand(200, 200)*256).astype(np.uint8)

def sliding_window(a, window, axis=-1):

shape = list(a.shape) + [window]

shape[axis] -= window - 1

if shape[axis] < 0:

raise ValueError("Array too small")

strides = a.strides + (a.strides[axis],)

return np.lib.stride_tricks.as_strided(a, shape=shape, strides=strides)

def sliding_img_var(img, window):

if window <= 0:

raise ValueError("invalid window size")

buf = sliding_window(img, 2*window, 0)

buf =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值