我使用openCV for Python,cv2库。我用下面的函数来计算的图像的直方图im_converted使用openCV for python的背投影
hist = cv2.calcHist([im_converted], channels, None, histSize, ranges,hist, 1)
其中im_converted加载为类型UINT8的numpy的阵列。
hist似乎被迫成为float32类型的一个numpy数组。当我使用反投影功能时会出现问题。 (注:我标准化直方图s.t np.sum(历史)= 1)
backProj = cv2.calcBackProject([im_converted], channels, hist, ranges,scale);
该文档是here。 backProj被迫成为一个uint8 numpy数组。
- 如果比例= 1,则backProj = 0
- 如果标度= 255,那么backProj是非零的,但这些值是非常小的。
我的问题是:鉴于类型之间的差异,应该应用的比例因子是多少?没有改变类型的方法吗? (注意:我试图做hist =零(histSize,dtype = uint8),但这是不成功的,我仍然得到了一个float32直方图。)