opencv ruby rgb histogram

opencv ruby rgb histogram

本文关键字:histogram rgb ruby opencv      更新时间:2023-10-16

我试图使用OpenCV来比较两个RGB图像直方图,为此我想在Ruby中创建一个CVHistogram。我不确定参数,因为我有一个错误与此代码:

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/模块/核心/src/matrix.cpp: 698:错误:函数cvarrToMat (OpenCV::CvStsBadArg)中未知的数组类型

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])