爱彼迎数据采集与预处理-图片色彩分析二
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。官网。下载后解压即可。
使用color-summarizer软件,在电脑后台运行,即点击win+R,输入cmd,找到文件路径,运行命令即可。
注:上图为找到文件路径。即下载后解压的位置。
bincolorsummarizer -dir "img_1-1000*jpg" -text >G:Download ewyork_1-1000.txt
注:这里的.txt文件,可以改为.csv文件,以便后面通过excel来打开。
import csv with open(r".txt文件位置", "r") as f: for line in f.readlines(): line = line.strip( ) ColourStr =line.split(" ")[:-3] # print(ColourStr) AllColour = ,.join(ColourStr) with open(r"保存.csv文件位置", a+, encoding=gbk) as f: f.write(str(AllColour)+ )
3 下载完成后,选择excel表格打开文件,结果包含了一张图片的四簇色彩,每簇色彩的像素值、占比、RGB、HEX、HSV、LAB、LCH、XYZ、CMYK、CIZE、CROP值。大致显示如下:
注:其他的下载命令可以参考color-summarizer官网,上面有教学。
上一篇:
JS实现多线程数据分片下载
下一篇:
人工智能第2版学习——知情搜索2