原标题:使用Python创建一个与图像颜色匹配的词云
来自:https://www.linuxmi.com/
我用Python造了一个词云。不过这次创建的是与图像颜色匹配的词云。
使用Python wordcloud模块创建一个词云。
掩码在wordcloud模块的WordCloud类的构造函数的参数中指定。掩码以ndarray格式指定。如果为像素指定了白色,它将被遮罩。
如果要使用彩色图像作为蒙版,您可以将其颜色作为彩色映射。
ImageColorGenerator
wordcloud类之一是ImageColorGenerator。就是词云颜色生成器(基于图片颜色)。
C = wordcloud.ImageColorGenerator(image, [default_color])
变量
类型
内容
image
数组
创建词云时使用的图像。
default_color
元组
可选的。默认值为“None”。当画布尺寸大于为其创建颜色信息的图像时,指定颜色。(r,g,b)
C
指示画布颜色信息的对象。
将这个对象作为WordCloud类的结构化参数来传递。
尝试一下把图像linuxmi.com.jpg做成词云。
文本自己做一个吧,我这里使用linuxmi.com.txt
为蒙板读取的图像将直接用于蒙板和颜色信息。
将ImageColorGenerator创建的对象传递给WordCloud构造函数时,指定的参数为color_func。
然后是一个执行示例。
fromPIL importImage
importnumpy asnp
fromwordcloud importWordCloud, ImageColorGenerator
# 读取原始文本
withopen( 'linuxmi.txt', mode= 'rt', encoding= 'utf-8') asfi:
source_text = fi.read
# 创建蒙板图像
mask_array = np.array(Image.open( 'linuxmi.com.jpg'))
image_color = ImageColorGenerator(mask_array)
# 创建词云
wc = WordCloud(mask=mask_array, color_func=image_color, background_color= 'white').generate(source_text)
# 直接保存在文件中的情况下,用to_file方法
wc.to_file( 'linuxmi.com.png')
# 用PIL表示
#image_array = wc.to_array
#img = Image.fromarray(image_array)
#img.show
这是您输入的蒙版图像。
输出将如下所示。
看起来就像上图,OK,就这样。
如果您有任何问题或反馈,请随时发表评论。返回搜狐,查看更多
责任编辑: