opencv ruby rgb гистограмма

0

Я пытаюсь использовать OpenCV для сравнения двух гистограмм изображений RGB, и для этого я хочу создать CVHistogram в Ruby. Я не уверен в параметрах, так как у меня есть ошибка с этим кодом:

iplimg = OpenCV::IplImage.decode_image(open(icon).read)
dim = 3
sizes = [8,8,8]
ranges = [[0, 255],[0, 255],[0, 255]]
hist = OpenCV::CvHistogram.new(dim, sizes, OpenCV::CV_HIST_ARRAY, ranges, true)
h = hist.calc_hist([iplimg]) # produce error below

Вот ошибка:

/tmp/opencv-tLdZ/opencv-2.4.9/modules/core/src/matrix.cpp:698: error: (-5) Неизвестный тип массива в функции cvarrToMat (OpenCV :: CvStsBadArg)

Правильно ли это?

  • 0
    Вместо того, чтобы заставлять нас выяснить, в чем заключается ошибка, скопируйте и вставьте сообщение об ошибке (полностью) в вопрос.
  • 0
    Извините, я отредактировал его, чтобы вставить ошибку.
Теги:
opencv

1 ответ

0
iplimg = OpenCV::IplImage.decode_image(open(icon).read) # RGB image

b, g, r = iplimg.split # Split RGB image to 1ch image array [b, g, r]

dim = 3
sizes = [8,8,8]
ranges = [[0, 255],[0, 255],[0, 255]]
hist = OpenCV::CvHistogram.new(dim, sizes, OpenCV::CV_HIST_ARRAY, ranges, true)
h = hist.calc_hist([r, g, b])

Ещё вопросы

Сообщество Overcoder
Наверх
Меню