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

标签 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”-图像显示了调整大小后像素的rgb值)同样,我尝试使用gimp调整相同img的大小,这也只是插值图片和结果显示正确的平均像素。我真的不知道为什么OPENCV会产生不同的结果,但是我确实需要解决这个问题。有任何想法吗?感谢您的帮助:3 test image for resizingResult 1x1

最佳答案

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

另外,请记住,OpenCV的默认值是bgr而不是rgb,尽管我希望这没有影响,因为它只是变量的名称。

关于您的代码,尽管我不建议这样做,但是如果您将其用作插值方法 INTER_AREA ,则可以使用。

关于python - OPENCV调整大小以获取图像平均值-与gimp不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304541/

相关文章:

python - 错误 1273 但我的模式不包含 utf8mb4_0900_ai_ci

Python 设置.py

python - get ValueError : bad transparency mask when trying to paste, 图像和掩码相同

python - 打印给定字符串中两个特定单词之间的单词

python - python中的部分匹配字典键(元组)

android - 在android上绘制凸包

c++ - Opencv STL vector to Mat 用于矩阵乘法

Python从内部函数更改外部字典

android - 如何在 opencv C++ 中将图像设为黑白?

python - 在scrapy中导入错误urllib.parse