为什么直方图的大小不一样?

时间:2017-04-05 17:59:28

标签: python

我正在尝试用python编写程序。我想将2个给定的图像调整为一些固定值,比如说(100,100),然后比较它们的直方图。为什么直方图在这种情况下长度不一样?我能做些什么让它们长度相同吗?

CODE:

import os,sys
from PIL import Image
im = Image.open('Untitled.png')
I1 = im.resize((100,100))
im2 = Image.open('Untitled2.png')
I2 = im2.resize((100,100))
X = I1.histogram()
Y = I2.histogram()

现在在shell中,当我检查2个直方图的长度时:

>>> len(X)
1024
>>> len(Y)
768

为什么即使在我调整它们之后也会发生这种情况?我可以使它们的长度相等,而不是使它成为完全相同的图像吗?

1 个答案:

答案 0 :(得分:2)

直方图基于图像具有的色带数量而工作。如果图像具有多个波段,则会连接所有波段的直方图(例如,“RGB”图像的直方图包含768个值)。

尝试将image1转换为RGB

I1rgb = I1.convert('RGB')