python如何实现在指定位置给图片批量的加文字标注
时间: 2023-08-30 21:02:34 浏览: 194
在Python中,可以使用PIL库(Python Imaging Library)来实现在指定位置给图片批量添加文字标注。
首先,需要安装PIL库。可以在终端中运行以下命令:
```
pip install Pillow
```
然后,导入所需的库:
```python
from PIL import Image, ImageDraw, ImageFont
import os
```
接下来,定义一个函数来处理单张图片:
```python
def add_text_to_image(image_path, text, position):
# 打开图片
image = Image.open(image_path)
# 创建一个可以在图片上绘图的对象
draw = ImageDraw.Draw(image)
# 设置字体和字号
font = ImageFont.truetype("arial.ttf", 12)
# 设置文字位置和颜色
draw.text(position, text, font=font, fill=(255, 0, 0))
# 保存修改后的图片
image.save(image_path)
```
然后,遍历指定文件夹下的所有图片文件,并调用上述函数进行文字标注:
```python
def batch_add_text(folder_path, text, position):
# 遍历指定文件夹下的所有图片文件
for file_name in os.listdir(folder_path):
# 确保文件是图片文件
if file_name.endswith(".jpg") or file_name.endswith(".png"):
# 构建图片文件的完整路径
image_path = os.path.join(folder_path, file_name)
# 对每张图片添加文字标注
add_text_to_image(image_path, text, position)
```
最后,调用`batch_add_text`函数来进行批量处理:
```python
folder_path = "/path/to/images"
text = "标注文字"
position = (10, 10) # 文字的左上角位置
batch_add_text(folder_path, text, position)
```
这样,指定文件夹下的所有图片都会使用相同的文字标注,并保存修改后的图片。
阅读全文