python修改图片里面的文字
时间: 2023-07-27 15:32:49 浏览: 383
要修改图片中已有的文字,需要使用OCR等工具先将图片中的文字识别出来,然后再使用Pillow库等工具将原来的文字覆盖掉或删除掉,最后再添加新的文字。以下是一个简单的示例:
1. 安装 pytesseract 和 Pillow 库:
```
pip install pytesseract Pillow
```
2. 使用 pytesseract 库识别图片中的文字:
```
import pytesseract
from PIL import Image
img = Image.open('image.png')
text = pytesseract.image_to_string(img)
```
3. 使用 Pillow 库创建 Draw 对象,并使用 text 方法绘制新的文字:
```
from PIL import ImageDraw, ImageFont
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', size=36) # 使用 Arial 字体,大小为 36
draw.text((x, y), 'new text', font=font, fill=(255, 0, 0)) # 在 (x, y) 处绘制新的文字,颜色为红色
```
4. 保存修改后的图片:
```
img.save('new_image.png')
```
完整的代码示例:
```
import pytesseract
from PIL import Image, ImageDraw, ImageFont
# 打开图片并识别文字
img = Image.open('image.png')
text = pytesseract.image_to_string(img)
# 创建 Draw 对象并绘制新的文字
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', size=36) # 使用 Arial 字体,大小为 36
draw.text((x, y), 'new text', font=font, fill=(255, 0, 0)) # 在 (x, y) 处绘制新的文字,颜色为红色
# 保存修改后的图片
img.save('new_image.png')
```
注意:OCR 识别的准确性可能受到图片质量、文字样式等因素的影响。如果图片中的文字较少,也可以手动删除或覆盖。