本文来源吾爱破解论坛
本帖最后由 zac7 于 2019-8-15 17:23 编辑
做了两个小时的词云,遇到几个问题没有解决掉,大家要是有思路记得通知我。然后我顺便总结一下心得:
第一,import cv2这个已经不能用了,大家记得使用 opencv-python这个库,因为我的是python3.6版本,我记得这个cv2是python2.x and python3.4以下版本才能使用吧,反正python3.6不能下载,当然最后我也没使用cv2.imread()在百度上发现numpy也有读取图片的功能。就用的numpy
第二,我发现imread读取jpg模式很Lj,读取PNG可以,同样的图片,只是图片格式不一样,jpg就会很乱,png就能正确读取。
我问我之前的讲师,他说:“”跟源代码有关吧。png带有阿尔法通道(控制透明),容易处理成2色(黑和透明)来作为蒙版。“”
第三,你的蒙版图片必须是整个形状(第一张示意图),不能是多个形状(第二,三张示意图)。就例如:
第四,博客上有很多文章都是用的这个库 from scipy.misc import imread,这个库是python2.7才能用,大家切记!
第五,谁能做成前两张那种形状的词云记得通知我,谢谢各位大佬。
[Python] 纯文本查看 复制代码
#-*- coding:utf-8 -*- # author:**ZLH** # datetime:2019/8/15 14:19 # software: PyCharm from wordcloud import WordCloud,ImageColorGenerator # import cv2 import jieba import matplotlib.pyplot as plt import numpy from PIL import Image file = open('tmp.txt',mode='r') # tmp.txt是与代码同目录下的文档文件,里面存的是要做成词云的数据 text = file.read() cut_text = " ".join(jieba.cut(text,cut_all=False)) # 进行精准的结巴分词 # cut_all, True为全模式,False为精确模式 print(cut_text) color_mask = numpy.array(Image.open('2.png')) # 打开背景图片 cloud = WordCloud( # 设置字体,不指定就会出现乱码 font_path='C:\Windows\Fonts\simhei.ttf', # 设置背景色 background_color='white', # 词云形状 mask=color_mask, # 允许最大词汇 max_words=2000, # 最大号字体 max_font_size=20 ).generate(cut_text) cloud.to_file('cloud.jpg') image_colors = ImageColorGenerator(color_mask) # 图片颜色既是背景图片的颜色 # plt.title=("Distant savior") plt.imshow(cloud.recolor(color_func=image_colors)) plt.imshow(cloud)# 以图片的形式显示词云 plt.figure() """ figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True) num:图像编号或名称,数字为编号 ,字符串为名称 figsize:指定figure的宽和高,单位为英寸; dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张 facecolor:背景颜色 edgecolor:边框颜色 frameon:是否显示边框 --------------------- """ plt.axis("off")# 关闭坐标轴 plt.show() # 显示图片
效果展示图如下:
cloud.jpg (12.29 KB, 下载次数: 21)
下载附件 保存到相册
2019-8-15 17:19 上传
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。