我正在尝试用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
为什么即使在我调整它们之后也会发生这种情况?我可以使它们的长度相等,而不是使它成为完全相同的图像吗?
答案 0 :(得分:2)
直方图基于图像具有的色带数量而工作。如果图像具有多个波段,则会连接所有波段的直方图(例如,“RGB”图像的直方图包含768个值)。
尝试将image1转换为RGB
I1rgb = I1.convert('RGB')