1 图片预处理
使用jupyter notebook对图片统一图片格式,等比例缩小图片尺寸。
import os,datetime
starttime = datetime.datetime.now()
from PIL import Image
from PIL import ImageFile
Image.MAX_IMAGE_PIXELS = 23000000000000
ImageFile.LOAD_TRUNCATED_IMAGES = True
dirPath = r"图片地址"
save_d = r"缩小后图片存放地址"
allFile = os.listdir(dirPath)
for i in allFile:
file = dirPath +"\" + i
print(file)
img = Image.open(file)
img = img.convert('RGB')
w,h = img.size
newWidth = 200 #缩小后的宽度
newHeight = round(newWidth / w * h)
img = img.resize((newWidth,newHeight), Image.ANTIALIAS)
img.save(save_d +"/" + i, optimize=True, quality=100)
endtime = datetime.datetime.now()
print(u'本次处理共耗费 {}S '.format((endtime - starttime).seconds))
2 提取图片相关数据(RGB值、HSV值等)
下载与安装color-summarizer。官网Image Color Summarizer - RGB and HSV Image Statistics。下载后解压即可。
使用color-summarizer软件,在电脑后台运行,即点击win+R,输入cmd,找到文件路径,运行命令即可。
注:上图为找到文件路径。即下载后解压的位置。
bincolorsummarizer -dir "img_1-1000*jpg" -text >G:Downloadnewyork_1-1000.txt
注:这里的.txt文件,可以改为.csv文件,以便后面通过excel来打开。
import csv
with open(r".txt文件位置", "r") as f:
for line in f.readlines():
line = line.strip('n')
ColourStr =line.split(" ")[:-3]
# print(ColourStr)
AllColour = ','.join(ColourStr)
with open(r"保存.csv文件位置", 'a+', encoding='gbk') as f:
f.write(str(AllColour)+ 'n')
3 下载完成后,选择excel表格打开文件,结果包含了一张图片的四簇色彩,每簇色彩的像素值、占比、RGB、HEX、HSV、LAB、LCH、XYZ、CMYK、CIZE、CROP值。大致显示如下:
注:其他的下载命令可以参考color-summarizer官网,上面有教学。



