【问题标题】:OpenCV Python calcHistOpenCV Python calcHist
【发布时间】:2015-01-09 08:52:19
【问题描述】:

我想计算image histogram with OpenCV's calcHist function with Python
但它不起作用。

代码:

im = cv2.imread(imPath,0) hist = cv2.calcHist([im],[0],None,[256],[0,256])

我得到 error 像这样:

OpenCV Error: Assertion failed (step(dims[-1] == (size_t) CV_ELEM_SIZE(flags)) 
in create, file opencv/sources/modules/core/src/matrix.cpp line:236

【问题讨论】:

  • 那个问题中的人stackoverflow.com/questions/9390592/…这样称呼它:cv2.calcHist([item],[0],None,[256],[0,255])。请注意,最后一个列表是 [0,255] 而不是 [0,256]。也许这是你的错误?会有意义..
  • ^^ 我不认为卡拉汉是正确的。我认为可能是您的图像没有正确读取或文件类型错误。
  • @Callahan 我用你的修改再次运行代码。但我得到了同样的错误。
  • @GPPK 图像文件扩展名为“BMP”。有问题吗?
  • 不应该这么认为,而是用jpg测试一下看看?

标签: python opencv


【解决方案1】:

试试这个:

import cv2
im = cv2.imread(r'd:\temp\1.bmp',0)
hist = cv2.calcHist([im],[0],None,256,[0,255])

print im
print hist

【讨论】:

    【解决方案2】:

    您的代码没有错误 - 这是一些执行相同操作的示例代码 (taken from here):

    img = cv2.imread('home.jpg',0)
    hist = cv2.calcHist([img],[0],None,[256],[0,256])
    

    因此,我认为您的 imPath 可能不正确。我建议使用类似于“C:\myImage.jpg”的静态文件路径开始,看看是否出现错误。

    【讨论】:

      猜你喜欢
      • 2011-10-11
      • 2015-05-05
      • 2016-03-17
      • 2019-04-16
      • 2013-02-19
      • 2018-10-31
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多