我正在尝试将OpenCV的Threshold
函数应用于一个Numpy数组。我正在使用OpenCV 2.1的Python绑定。代码如下:
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
没有按照我尝试让它工作的明显幼稚的方式工作,很棒能知道我应该做些什么。
P.S. 我知道我可以自己在numpy数组上执行阈值操作,但是我正在尝试弄清楚opencv。