我在尝试使用时遇到了以下模棱两可的错误 cv2.calcHist()
>>> img
array([ 1., 2., 3., 4., 5.])
>>> cv2.calcHist( [img], channels = [0], mask = np.ones(img.size), histSize = [6], ranges = [(0,6)])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
SystemError: error return without exception set
Run Code Online (Sandbox Code Playgroud)
错误是如此通用,以至于我完全无法知道可能出现的问题.您可以在此处找到记录的功能.我目前正在运行通过MacPorts安装的OpenCV v2.3.1.
谢谢!
我发现Python界面的在线文档有点稀疏.我发现一个非常宝贵的资源是samples(OpenCV-2.3.x/samples/python2),您可以在其中找到Python界面中几乎所有函数的示例用法.
但是查看文档:
mask参数必须是8位(mask.astype('uint8'))img应该是CV_8U或CV_32F(so img.astype('uint8')或img.astype('float32'))从查看python2样本(camshift.py,color_histogram.py):
ranges说法并不需要是一个元组,只是一个列表(尽管文件表明,它应该是列表或数组的数组列表...)所以:
cv2.calcHist( [img.astype('float32')], # <-- convert to float32
channels=[0],
mask=np.ones(img.size).astype('uint8'), # <-- convert to uint8
histSize=[6],
ranges=[0,6] ) # <-- flat list
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4235 次 |
| 最近记录: |