Я пытаюсь использовать функцию Python opencv Moments()
на изображении в градациях серого, но я получаю следующее TypeError
:
>>> img = cv.LoadImage('example_image.jpg', cv.CV_LOAD_IMAGE_GRAYSCALE)
>>> moments = cv.Moments(img)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Argument '' must be CvSeq, CvArr, or a sequence of numbers
>>>
Я уверен, что это использование является правильным, поскольку оно продемонстрировано в opencv документах здесь , где GetHuMoments()
использует результаты Moments()
.
Я полагаю, что у меня правильно установлены opencv и numpy , поскольку я успешно их использую для многих других целей, и я сталкиваюсь с этим как в OS X 10.6, так и в Red Hat 6 .
Тот же вопрос задан в opencv группе пользователей , но я не хочу сначала преобразовывать изображение в контур, как указано в ответе.