我正在使用python2.7 opencv库来计算一些图像的直方图,所有图像都完全相同(cv2.calchist)
我需要做两件事: 1.计算多个图像的平均值 - 多个图像代表一个相似的对象,因此我希望得到该对象的“代表性”直方图(如果你有更好的想法,我愿意接受建议),以便进行未来的比较。 2.将直方图数据存储在我的mongo数据库中以供将来比较(cv2相关)
我认为与该问题相关的唯一代码是我的histogram_comparison代码:
def histogram_comparison(real, fake):
images = [real, fake]
index = []
for image in images:
image = image.decode('base64')
image = np.fromstring(image, dtype=np.uint8)
image = cv2.imdecode(image, 1)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
hist = cv2.calcHist([image], [0, 1, 2], None, [32, 32, 32],
[0, 256, 0, 256, 0, 256])
hist = cv2.normalize(hist).flatten()
index.append(hist)
result_dist = cv2.compareHist(index[0], index[1], cv2.cv.CV_COMP_CORREL)
return round(result_dist, 5)
取自:http://www.pyimagesearch.com/2014/07/14/3-ways-compare-histograms-using-opencv-python/
我确实意识到当使用numpy(或者它是scipy?)直方图时,有一种简单的方法来获取垃圾箱并对它们进行平均,但后来我不确定如何比较直方图,所以我宁愿留下来OpenCV的
提前致谢