在图片上显示汉字python代码
时间: 2024-12-04 09:24:45 浏览: 30
在Python中,可以使用Pillow库(PIL的升级版)来在图片上显示汉字。以下是一个简单的示例代码:
```python
from PIL import Image, ImageDraw, ImageFont
# 打开一张图片
image = Image.open('example.jpg')
# 初始化ImageDraw对象
draw = ImageDraw.Draw(image)
# 设置字体和大小
font = ImageFont.truetype('simsun.ttc', 40) # 使用宋体,大小为40
# 在图片上添加文字
draw.text((10, 10), '你好,世界!', font=font, fill=(255, 255, 255))
# 保存或显示图片
image.save('output.jpg')
image.show()
```
这段代码首先加载一张名为`example.jpg`的图片,然后创建一个`ImageDraw`对象用于绘制。接着,它设置了一个字体(这里使用的是宋体,文件名为`simsun.ttc`,需要确保这个字体文件在你的系统中是可用的),并指定了字体的大小。之后,使用`draw.text()`方法在图片上的指定位置(这里是坐标(10, 10))添加了文本“你好,世界!”,字体颜色设置为白色。最后,代码将修改后的图片保存为`output.jpg`并显示出来。
相关问题
opencv在图片右上角上显示汉字python代码
在OpenCV中,可以使用`cv2.putText()`函数在图片上显示汉字。首先需要确保你的Python环境支持中文字符,并且安装了相应的字体文件。以下是一个简单的示例代码,展示如何在图片的右上角显示汉字:
```python
import cv2
import numpy as np
# 读取图片
image = cv2.imread('path_to_your_image.jpg')
# 设置字体
font = cv2.FONT_HERSHEY_SIMPLEX
# 设置文字内容、位置、字体、大小、颜色等参数
text = "你好,世界"
position = (10, 30) # 文字左上角的位置
font_scale = 1
color = (255, 0, 0) # BGR格式,这里是红色
thickness = 2
line_type = cv2.LINE_AA
# 在图片上添加文字
cv2.putText(image, text, position, font, font_scale, color, thickness, line_type)
# 显示图片
cv2.imshow('Image with Chinese Text', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先加载了一张图片,然后设置了要显示的文字内容、位置、字体、大小、颜色和线条类型。使用`cv2.putText()`函数将文字绘制到图片上。最后,使用`cv2.imshow()`显示带有文字的图片。
请确保替换 `'path_to_your_image.jpg'` 为你的图片路径。此外,你可能需要根据你的需求调整文字的位置、大小和颜色等参数。
词云图python代码
生成词云图的Python代码如下:
```python
import wordcloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import jieba
# 读取文本
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 对文本进行分词
words = jieba.cut(text)
# 过滤掉一些无用的词汇
stopwords = set()
with open('stopwords.txt', 'r', encoding='utf-8') as f:
for line in f.readlines():
stopwords.add(line.strip())
filtered_words = []
for word in words:
if word not in stopwords:
filtered_words.append(word)
# 拼接成字符串
text = ' '.join(filtered_words)
# 生成词云图
mask = np.array(Image.open('mask.png'))
wc = wordcloud.WordCloud(background_color='white', mask=mask, font_path='simsun.ttc')
wc.generate(text)
# 显示词云图
plt.imshow(wc)
plt.axis('off')
plt.show()
# 保存词云图
wc.to_file('wordcloud.png')
```
需要注意的是,代码中需要用到一个文本文件 `text.txt` 和一个停用词文件 `stopwords.txt`,还需要用到一个词云图形状的模板图片 `mask.png` 和一个中文字体文件 `simsun.ttc`,可以根据自己的需要进行替换。
阅读全文