python - 扩展 numpy 数组

标签 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 的问题?

最佳答案

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

关于python - 扩展 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115233/

相关文章:

python - 使用轴进行功能应用和映射

c++ - 在不调用 QThread::start() 的情况下使用 QThread 是否有意义?

c++ - OpenCV + 实感 : Visual Studio Link 2019 error

python - 在 python 中将 tesseract 3.02 的 C API 与 ctypes 和 cv2 结合使用

python - 在 jupyter 笔记本单元格上加载 Markdown 文件

python - 可以像 JavaScript 一样定义函数吗?

python - json.loads 和 python eval 将字符串转换为 json 对象之间的区别

ios - 在 indexPath 的 didselectrow 上选择取消选择行时崩溃

javascript - 尝试从数组中随机化单词并在 5 后停止循环

javascript - Rails 3将rails数组传递给使用javascript数组的javascript函数