wordcloud无法生成mask对应的图片:UserWarning: mask image should be unsigned byte between 0 and 255.

老铁们,来看看,完整的报错信息是不是这个:

xxx/python3.7/site-packages/wordcloud/wordcloud.py:735: 

UserWarning: mask image should be unsigned byte between 0 and 255. 

Got a float array.

warnings.warn("mask image should be unsigned byte between 0"

他的意思是,你的图片位深度必须是8位,即取值范围为: [ 0 : 255 ] [0 : 255] [0:255],其不能是浮点型

如果你用openCV读取,那一定没有问题,其默认读取位深度为8位

我猜测你可能使用matplotlib来读入图片的:

import matplotlib.pyplot as plt
import matplotlib.image  as mpimg

img = plt.imread('mask.png')
img = mpimg.imread('mask.png')

这样读取图片默认都是np.float32类型的,将这个img传给wordcloud构造函数时,其会返回你那个 w a r n i n g warning warning,且你传入的图片失效

可以将img转换一个类型再传入wordcloud构造函数

img = img.astype(np.uint8)

这样就OK

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值