小编est*_*rio的帖子

有效地计算图像蟒蛇的方差

我正在开发一个需要获得图像方差的项目.目前我正采取两种方法(两种方法都有效,但速度很慢):

  1. 分别计算每个像素的方差:

这是使用numpy的代码,varianceMatrix是输出

varianceMatrix = np.zeros(im.shape,np.uint8)
w = 1              # the radius of pixels neighbors 
ny = len(im)
nx = len(im[0])


for i in range(w,nx-w):
    for j in range(w,ny-w):

        sampleframe = im[j-w:j+w, i-w:i+w]
        variance    = np.var(sampleframe)
        varianceMatrix[j][i] = int(variance)

return varianceMatrix   
Run Code Online (Sandbox Code Playgroud)
  1. 使用现有的scipy函数:

这是scipy功能:

from scipy import ndimage

varianceMatrix = ndimage.generic_filter(im, np.var, size = 3)
Run Code Online (Sandbox Code Playgroud)

scipy功能更快,但不是那么多.我正在寻找一种更好的替代方案来计算方差.

有任何想法吗???

python numpy image variance scipy

8
推荐指数
2
解决办法
4188
查看次数

标签 统计

image ×1

numpy ×1

python ×1

scipy ×1

variance ×1