Применить Порог opencv для массива numpy

Я пытаюсь применить функцию opencv Threshold к массиву numpy. Я использую привязки python для opencv 2.1. Это выглядит так:

import cv
import numpy as np
a = np.random.rand(1024,768)
cv.Threshold(a,a,0.5,1,cv.CV_THRESH_BINARY)

и возникает ошибка:

OpenCV Error: Unsupported format or combination of formats () in threshold

Итак, я не уверен, что знаю, что делаю, но я надеялся, что Порог будет работать как, например, Smooth , при котором я могу запустить

cv.Smooth(a,a)

без проблем и получить гладкое (er) изображение. Я не уверен, как думать о «форматах» массивов numpy, как их видит opencv, но мне не нравится преобразовывать массив numpy в формат изображения opencv, если мне это не нужно (и все мои попытки потерпели неудачу, поэтому все равно далеко).

Я хотел бы знать, почему Порог не работает явно наивным способом, которым я пытаюсь заставить его работать, и было бы здорово узнать, что я должен делать вместо этого.

PS Я знаю, что могу сам выполнить операцию определения порога для массива numpy, но я пытаюсь выяснить opencv.

7
задан Mike Dewar 11 October 2010 в 03:59
поделиться