Python使用wordcloud+pillow基于给定图像制作词云
大致思路:Python扩展库wordcloud可以用来制作词云,而pillow库提供了图像处理功能,代码结合二者创建了词云头像,其中把给定的图像作为参考,只保留词云中与图像前景对应位置的像素,起到裁剪作用。
import random
import string
import wordcloud
from PIL import Image
def show(s):
# 创建wordcloud对象
wc = wordcloud.WordCloud(
r'C:\windows\fonts\simfang.ttf',
width=500, height=400,
background_color='white',
font_step=3,
random_state=False,
prefer_horizontal=0.9)
# 创建并显示词云
t = wc.generate(s)
t.to_image().save('t.png')
# 如果空间足够,就全部显示
# 如果词太多,就按频率显示,频率越高的词越大
show('hello world 董付国 董付国 董付国 董付国 abc fgh yhnbgfd 董付国 董付国 董付国 董付国 Python great Python Python')
上面代码某次运行生成的图片为:
def create(imgFile, s):
im = Image.open(imgFile)
w, h = im.size
# 创建wordcloud对象
wc = wordcloud.WordCloud(
r'C:\windows\fonts\simfang.ttf',
width=w, height=h,
background_color='white',
font_step=3,
random_state=False,
prefer_horizontal=0.9)
# 创建并显示词云
t = wc.generate(s)
t = t.to_image()
for w1 in range(w):
for h1 in range(h):
if im.getpixel((w1,h1))[:3] == (255,255,255):
t.putpixel((w1,h1), (255,255,255))
t.save('result.png')
chs = string.ascii_letters + string.digits + string.punctuation
s = [''.join((random.choice(chs)for i in range(8))) for j in range(650)]
s = ' '.join(s)
create('test1.png', s)
上面代码测试图像和生成的词云图像分别为
更多Python技术文章请关注微信公众号“Python小屋”进行阅读
Python使用wordcloud+pillow基于给定图像制作词云相关推荐
- python词云改颜色_使用Python创建一个与图像颜色匹配的词云
原标题:使用Python创建一个与图像颜色匹配的词云 来自:https://www.linuxmi.com/ 我用Python造了一个词云.不过这次创建的是与图像颜色匹配的词云. 使用Python w ...
- 使用Python爬虫获取豆瓣影评,并用词云显示
使用Python爬虫获取豆瓣影评,并用词云显示 Python语言流行到现在,目前最受开发者喜爱的功能莫过于它的爬虫功能,以至于很多人以为Python的英语发音也是"爬虫",其实它是 ...
- 详解使用Python爬取豆瓣短评并绘制词云
使用Python爬取豆瓣短评并绘制词云 成果如下(比较丑,凑合看) 1.分析网页 打开想要爬取的电影,比如<找到你>,其短评如下: 查看源代码 发现短评存放在<span>标签里 ...
- 基于python和线上网站wordart的词云生成
词云生成 前言 一.词云是什么? 二.使用步骤 1.使用jieba提取关键词 2.进入网站 3.导入关键词 4.导入字体 5.生成词云 6.词云调整 总结 前言 随着人工智能的不断发展,python这 ...
- Python中使用wordcloud生成漂亮的中文词云
场景 实现 新建文件夹ChinaMapWordCloud 文件夹下新建fonts目录用于存放字体. 新建ChinaMap.py from wordcloud import WordCloud impo ...
- 在Python中用WordCloud生成聊天记录热点词汇词云图
刚开学第一天,因为老师没在实验室,所以就没去.之前有看到过别人展示过热点词汇的那种图片,闲着也是闲着,所以就捣鼓了一下午,为了整理一下学的东西,下面就以QQ聊天记录为例子,生成热点词汇.具体的效果如下 ...
- python用数据告诉你谁是《西游记》真正的主角:基于jieba模块的分析与基于pyechart的词云可视化展示
先说结论:西游记里面孙悟空(孙行者)的出镜率最高,是名副其实的男猪脚.以下的词云图可以直观地证明这个结论.那么这个图是怎么的出来的呢?本文将分七个步骤进行详细的说明. 一.导入所需模块 这个任务我们需 ...
- 【Python】文本情感分析及绘制词云
码字不易,喜欢请点赞!!! 这篇文章主要分享了使用Python来对文本数据进行情感分析以及绘制词云. 主要步骤包括: 1.文本预处理 2.文本分词 3.去除停用词(这里设置为单个词和一些常见的停用词) ...
- python豆瓣爬虫爬取评论做成词云
前言 前一段时间学校有个project,做一个电影购票系统,当时就用springboot做了系统,用python抓了一些电影的基本信息.后来发现如果把评论做成词云那展示起来不是很酷炫么.于是乎把这个过 ...
最新文章
- leetcode算法题--合并两个有序链表
- vue router html后缀,vue-router.html
- 网页打开共享目录_你会做Excel文件目录吗?真的太太太太太简单了!
- python 框架 优化_python+unittest框架第六天unittest之优化测试报告
- 【渝粤教育】国家开放大学2019年春季 0408-22T管理学基础 参考试题
- mongodb mysql json数据类型_mongodb 数据格式补充
- python面试题之Fibonacci数列
- 锁定计算机好在下游戏吗,巧用win7锁定计算机防止孩子沉迷游戏
- 淘宝开放平台SDK对接
- qml 函数使用经验总结1(image中调用函数)
- 作业调度之先来先服务算法C语言实现
- java swing 界面字体大小_java swing 界面统一设置字体样式
- win10系统安装提示带有gui的服务器,安装win10提示“由于技术员系统中无接入音频设备,要启动GUI”如何...
- javaScript之原生js封装组件(弹窗为例)
- WordPress防止自动压缩jpg图片
- word公式编辑器出错及交叉引用问题
- 微信小程序发布后使用本地图片不显示问题
- VUE中导出Excel功能的实现
- SVG排版 | 深色模式彩蛋
- 账号密码登录和注册业务逻辑
热门文章
- java jmstemplate_Java JmsTemplate.setReceiveTimeout方法代码示例
- HTML怎么实现抽奖变色,html+css+js实现简单抽奖
- matlab怎么画园与椭圆,[转载]【MATLAB】画圆和椭圆
- spring boot security ajax_Spring-Boot-应用可视化监控
- 用计算机参加关于动漫的工作计划,动漫社团年度工作计划
- java 程序是由什么组成的 java_【问答题】一个典型的JAVA程序结构是由什么组成。...
- 仅展示近三天的动态设置_不要把朋友圈设置成3天可见……
- ajax请求解析json,如何为Ajax请求解析json响应?
- 启动vue项目报错faield at the vue-cli-service serve
- java process 中断_从Java运行外部程序,读取输出,允许中断