Я пытаюсь применить функцию 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
Итак, я не уверен, что знаю, что делаю, но я надеялся Threshold
будет работать, как, например, Smooth
, при этом я могу без проблем запустить
cv.Smooth(a,a)
и получить гладкое (эр) изображение.Я не уверен, как думать о «форматах» массивов numpy, как их видит opencv, но мне не хочется преобразовывать массив numpy в формат изображений opencv, если мне это не нужно (и все мои попытки провалились,все равно далеко).
Я хотел бы знать, почему Threshold
не работает явно наивным образом, я пытаюсь заставить его работать, и было бы здорово узнать, что я должен делать вместо этого.
PS Я знаю, что мог бы самостоятельно выполнить операцию порогового значения для массива numpy, но я пытаюсь выяснить opencv.