gpt4 book ai didi

python - OpenCV 中 calcHist 的模糊异常

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:28 24 4
gpt4 key购买 nike

在尝试使用 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

这个错误太普遍了,我完全不知道哪里出了问题。您可以找到记录的函数 here .我目前正在运行通过 MacPorts 安装的 OpenCV v2.3.1。

谢谢!

最佳答案

我发现 Python 界面的在线文档有点稀疏。我发现一个非常宝贵的资源是样本 (OpenCV-2.3.x/samples/python2),您可以在其中找到 Python 界面中几乎所有函数的使用示例。

但是查看文档:

  • mask 参数必须是 8 位 (mask.astype('uint8'))
  • 输入 img 应该是 CV_8UCV_32F (所以 img.astype('uint8')img.astype('float32'))

通过查看 python2 示例(camshift.pycolor_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

关于python - OpenCV 中 calcHist 的模糊异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8822647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com