扩展numpy数组

时间:2014-04-16 16:36:43

标签: python arrays opencv numpy

我是Python / numpy的新手。

我正在尝试扩展numpy.array,为它提供一些功能,使其能够很好地表示图像(例如转换为灰度等)。

import numpy as np
import cv2
from support import *
import matplotlib.pyplot as plt

class Frame(np.array):
    def __init__(self):
        print "new frame"


f = Frame()

目前这给了我:

  File "o.py", line 6, in <module>
    class Frame(np.array):
TypeError: Error when calling the metaclass bases
    cannot create 'builtin_function_or_method' instances

我不明白为什么这是Python的问题?

1 个答案:

答案 0 :(得分:2)

您想要成为np.ndarray的子类,而不是np.array,但它比在您的示例中仅替换另一个更复杂一点。它可能值得一看文档: http://docs.scipy.org/doc/numpy/user/basics.subclassing.html