2015-01-09 2 views
0

Я бы хотел рассчитать image histogram with OpenCV's calcHist function with Python.
Но это не сработает.OpenCV Python calcHist

Код:

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

И я получаю ошибку так:

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 
+0

Парень в этом вопросе http://stackoverflow.com/questions/9390592/drawing-histogram-in-opencv-python называет это так: 'cv2.calcHist ([пункт], [0], Отсутствует, [256], [0255]) '. Обратите внимание, что последний список - '[0,255]' not '[0,256]'. Может, это твоя ошибка? Было бы разумно. – Callahan

+0

^^ Я не Каллахан прав. Я думаю, что, вероятно, ваш образ не читает правильно или неправильный тип файла. – GPPK

+0

@Callahan Я снова запускаю код с вашей модификацией. Но у меня такая же ошибка. – ekarem

ответ

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 
1

Ваш код не неправильно - вот некоторые пример кода, который делает то же самое (taken from here) :

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

Поэтому я думаю, что ваш imPath, вероятно, является нерезидентом. Я бы предложил использовать статический путь к файлу, что-то похожее на «C: \ myImage.jpg», для начала и посмотреть, появляется ли ошибка с этим.

+0

У меня нет проблем при чтении файлов изображений. – ekarem

Смежные вопросы