OPENCV调整大小以获得图像平均值 - 与gimp不同的结果

时间:2016-05-18 15:52:59

标签: python python-2.7 opencv interpolation linear-interpolation

目前我正在尝试获取图片的平均颜色值。我只是尝试将整个图像调整为1x1像素img2= cv2.resize(img00, (1,1))并获取rgb值

for i in xrange(0,3):
        rgb[i] = img2[0][0][i]
cv2.rectangle(img,(0,0),(100,100),(int(rgb[0]),int(rgb[1]),int(rgb[2])),-1)

,但结果是错误的。它只显示了像OPENCV这样的右侧颜色会向一个角插入。("结果1x1" -Image显示调整大小后像素的rgb值)同样我尝试用gimp调整相同的img大小,它也只是插值图片,结果显示正确的平均像素。我真的不知道为什么OPENCV会产生不同的结果,但我真的需要解决这个问题。有任何想法吗?感谢您的帮助:3 test image for resizing& Result 1x1

1 个答案:

答案 0 :(得分:0)

您必须使用正确的工具/功能来解决您的问题。在这种情况下,对于OpenCV 2 cv.Avg(...)和OpenCV 3 cv2.mean(...)

另外,请注意OpenCV的默认值是bgr而不是rgb,虽然我认为这没有影响,因为它只是变量的名称。

关于你的代码,虽然我不推荐,但如果你使用插值方法INTER_AREA,它可能会有效。