как вызвать эту функцию, которая требует собственного параметра - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь протестировать одну функцию, которая возвращает функции CLD. для этого нужно использовать только библиотеку numpy. Я тестирую ее, но всегда говорится, что требуется параметр self. Я не знаю, почему это происходит, потому что функция получает только одно изображение, которое я загружаю с помощью opencv.

Вот класс, который я пытаюсь использовать: colorlayoutdescriptor.py

import numpy as np

class ColorLayoutDescriptor:
    def __init__(self):
        self.rows = 8
        self.cols = 8
        self.prefix = "CLD"

    def compute(self, img):
        averages = np.zeros((self.rows,self.cols,3))

Я ожидаю отправить одно изображение в метод, называемый compute, и получить один вектор признаков, теперь я получаю эту проблему: *

image = cv2.imread("test.jpg")
vector = ColorLayoutDescriptor.compute(image)

TypeError: compute () отсутствует 1 обязательный позиционный аргумент: 'img'

Большое спасибо.

1 Ответ

3 голосов
/ 10 мая 2019

ColorLayoutDescriptor - это класс, поэтому сначала необходимо создать экземпляр класса:

cld = ColorLayoutDescriptor()
cld.compute(image)
...