大致思路: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基于给定图像制作词云相关推荐

  1. python词云改颜色_使用Python创建一个与图像颜色匹配的词云

    原标题:使用Python创建一个与图像颜色匹配的词云 来自:https://www.linuxmi.com/ 我用Python造了一个词云.不过这次创建的是与图像颜色匹配的词云. 使用Python w ...

  2. 使用Python爬虫获取豆瓣影评,并用词云显示

    使用Python爬虫获取豆瓣影评,并用词云显示 Python语言流行到现在,目前最受开发者喜爱的功能莫过于它的爬虫功能,以至于很多人以为Python的英语发音也是"爬虫",其实它是 ...

  3. 详解使用Python爬取豆瓣短评并绘制词云

    使用Python爬取豆瓣短评并绘制词云 成果如下(比较丑,凑合看) 1.分析网页 打开想要爬取的电影,比如<找到你>,其短评如下: 查看源代码 发现短评存放在<span>标签里 ...

  4. 基于python和线上网站wordart的词云生成

    词云生成 前言 一.词云是什么? 二.使用步骤 1.使用jieba提取关键词 2.进入网站 3.导入关键词 4.导入字体 5.生成词云 6.词云调整 总结 前言 随着人工智能的不断发展,python这 ...

  5. Python中使用wordcloud生成漂亮的中文词云

    场景 实现 新建文件夹ChinaMapWordCloud 文件夹下新建fonts目录用于存放字体. 新建ChinaMap.py from wordcloud import WordCloud impo ...

  6. 在Python中用WordCloud生成聊天记录热点词汇词云图

    刚开学第一天,因为老师没在实验室,所以就没去.之前有看到过别人展示过热点词汇的那种图片,闲着也是闲着,所以就捣鼓了一下午,为了整理一下学的东西,下面就以QQ聊天记录为例子,生成热点词汇.具体的效果如下 ...

  7. python用数据告诉你谁是《西游记》真正的主角:基于jieba模块的分析与基于pyechart的词云可视化展示

    先说结论:西游记里面孙悟空(孙行者)的出镜率最高,是名副其实的男猪脚.以下的词云图可以直观地证明这个结论.那么这个图是怎么的出来的呢?本文将分七个步骤进行详细的说明. 一.导入所需模块 这个任务我们需 ...

  8. 【Python】文本情感分析及绘制词云

    码字不易,喜欢请点赞!!! 这篇文章主要分享了使用Python来对文本数据进行情感分析以及绘制词云. 主要步骤包括: 1.文本预处理 2.文本分词 3.去除停用词(这里设置为单个词和一些常见的停用词) ...

  9. python豆瓣爬虫爬取评论做成词云

    前言 前一段时间学校有个project,做一个电影购票系统,当时就用springboot做了系统,用python抓了一些电影的基本信息.后来发现如果把评论做成词云那展示起来不是很酷炫么.于是乎把这个过 ...

最新文章

  1. leetcode算法题--合并两个有序链表
  2. vue router html后缀,vue-router.html
  3. 网页打开共享目录_你会做Excel文件目录吗?真的太太太太太简单了!
  4. python 框架 优化_python+unittest框架第六天unittest之优化测试报告
  5. 【渝粤教育】国家开放大学2019年春季 0408-22T管理学基础 参考试题
  6. mongodb mysql json数据类型_mongodb 数据格式补充
  7. python面试题之Fibonacci数列
  8. 锁定计算机好在下游戏吗,巧用win7锁定计算机防止孩子沉迷游戏
  9. 淘宝开放平台SDK对接
  10. qml 函数使用经验总结1(image中调用函数)
  11. 作业调度之先来先服务算法C语言实现
  12. java swing 界面字体大小_java swing 界面统一设置字体样式
  13. win10系统安装提示带有gui的服务器,安装win10提示“由于技术员系统中无接入音频设备,要启动GUI”如何...
  14. javaScript之原生js封装组件(弹窗为例)
  15. WordPress防止自动压缩jpg图片
  16. word公式编辑器出错及交叉引用问题
  17. 微信小程序发布后使用本地图片不显示问题
  18. VUE中导出Excel功能的实现
  19. SVG排版 | 深色模式彩蛋
  20. 账号密码登录和注册业务逻辑

热门文章

  1. java jmstemplate_Java JmsTemplate.setReceiveTimeout方法代码示例
  2. HTML怎么实现抽奖变色,html+css+js实现简单抽奖
  3. matlab怎么画园与椭圆,[转载]【MATLAB】画圆和椭圆
  4. spring boot security ajax_Spring-Boot-应用可视化监控
  5. 用计算机参加关于动漫的工作计划,动漫社团年度工作计划
  6. java 程序是由什么组成的 java_【问答题】一个典型的JAVA程序结构是由什么组成。...
  7. 仅展示近三天的动态设置_不要把朋友圈设置成3天可见……
  8. ajax请求解析json,如何为Ajax请求解析json响应?
  9. 启动vue项目报错faield at the vue-cli-service serve
  10. java process 中断_从Java运行外部程序,读取输出,允许中断