【发布时间】:2014-08-12 03:40:30
【问题描述】:
取自 skimage 的 gabor 滤波器示例,计算图像的 gabor 滤波器很简单:
import numpy as np
from scipy import ndimage as nd
from skimage import data
from skimage.util import img_as_float
from skimage.filter import gabor_kernel
brick = img_as_float(data.load('brick.png'))
kernel = np.real(gabor_kernel(0.15, theta = 0.5 * np.pi,sigma_x=5, sigma_y=5))
filtered = nd.convolve(brick, kernel, mode='reflect')
mean = filtered.mean()
variance = filtered.var()
brick 只是一个 numpy 数组。假设我有一个 5000*5000 的 numpy 数组。我想要实现的是生成两个新的 5000*5000 numpy 数组,其中像素是以它们为中心的 15*15 窗口的 gabor 滤波器的均值和 var 值。
谁能帮我实现这个目标?
编辑
¿为什么我的投票被否决了?无论如何,为了澄清,我展示了一个关于如何在单个图像上计算 gabor 滤波器的示例。我想简单地计算一个非常大的图像的小正方形子集的gabor滤波器(因此是滑动窗口)。
【问题讨论】:
-
您能否通过“gabor 过滤器的均值和 var 值...”来澄清一下您的意思?过滤器似乎是一个 31x31 像素的线性过滤器。你想得到这个下的滚动均值和平均值是(31x31)还是过滤图像的滚动均值和方差?
标签: python image-processing numpy scipy signal-processing