Я пытаюсь применить функцию 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.