Windows 新样式的getargs格式,但参数不是元组python gabor筛选

Windows 新样式的getargs格式,但参数不是元组python gabor筛选,windows,python-2.7,image-processing,Windows,Python 2.7,Image Processing,我正在尝试实现gabor过滤器来增强图像。我从google获得了一个代码片段,我正在处理该代码片段,它给了我一个不熟悉的错误。请指导我完成下面附带的代码,以便更正错误 给我错误的原因是 def gabor(im, W, angles): x, y = im.size im_load = im.load() freqs = frequency.freq(im, W, angles) print "computing local ridge frequency do

我正在尝试实现gabor过滤器来增强图像。我从google获得了一个代码片段,我正在处理该代码片段,它给了我一个不熟悉的错误。请指导我完成下面附带的代码,以便更正错误

给我错误的原因是

def gabor(im, W, angles):
    x, y = im.size
    im_load = im.load()

    freqs = frequency.freq(im, W, angles)
    print "computing local ridge frequency done"

    gauss = utils.gauss_kernel(3)
    utils.apply_kernel(freqs, gauss)

    for i in range(1, x / W - 1):
        for j in range(1, y / W - 1):
            kernel = gabor_kernel(W, angles[i][j], freqs[i][j])
            for k in range(0, W):
                for l in range(0, W):
                    im_load[i * W + k, j * W + l] = utils.apply_kernel_at(lambda x, y: im_load[x, y],kernel,i * W + k,j * W + l)

    return im
迭代在第四个for循环之后进行得很顺利,因为它显示了一个错误

im_load[i * W + k, j * W + l] = utils.apply_kernel_at(lambda x, y: im_load[x, y],kernel,i * W + k,j * W + l)
错误是这样说的

    im_load[i * W + k, j * W + l] = utils.apply_kernel_at(lambda x, y: im_load[x, y],kernel,i * W + k,j * W + l)
SystemError: new style getargs format but argument is not a tuple
更新

我在谷歌上搜索了几次后找到了这个答案 似乎我正在使用的python 2.7.10上的代码从来都不起作用 它适用于2.7.6

如何使其在python 2.7.10中工作

安装python 2.7.6后更新

我在安装Python2.7.6后尝试了这段代码,正如在stack overflow中的回答中所述,但错误仍然存在。 现在该怎么办

对代码进行长时间测试后更新

我已经深入研究了代码,以了解其工作原理,发现了错误代码,但我无法纠正它

函数中存在错误apply\u kernel\u at

def apply_kernel_at(get_value, kernel, i, j):
    kernel_size = len(kernel)
    result = 0
    for k in range(0, kernel_size):
        for l in range(0, kernel_size):
            pixel = get_value(i + k - kernel_size / 2, j + l - kernel_size / 2)
            result += pixel * kernel[k][l]
            #print pixel
    return result
它返回一个值结果,但使用函数调用的行需要两个值

im_load[i * W + k, j * W + l]=utils.apply_kernel_at(lambda x, y: im_load[x, y],kernel,i * W + k,j * W + l)
我不确定我的发现是否正确

任何帮助都将不胜感激