一个文件夹内多张图片,使用百度orc技术识别图片的编号文字重命名图片,使用python语言

发布时间 2023-08-02 16:27:46作者: dafengchui
使用百度OCR技术识别图片的编号文字,并重命名图片可以通过以下步骤实现:

1. 安装依赖库:首先确保已经安装了Python和必要的依赖库,包括百度AI开放平台的Python SDK。可以使用`pip install baidu-aip`命令进行安装。

2. 导入依赖库:在Python代码中导入`aip`库。

```python
from aip import AipOcr
import os
```

3. 设置百度OCR API的访问参数:在代码中设置百度OCR的API信息,包括`APP_ID`、`API_KEY`、`SECRET_KEY`。可以在百度AI开放平台创建应用并获取这些信息。

```python
APP_ID = 'Your APP_ID'
API_KEY = 'Your API_KEY'
SECRET_KEY = 'Your SECRET_KEY'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
```

4. 定义图片识别和重命名函数:这个函数将接受一个文件夹路径作为输入,并对文件夹中的每张图片进行识别和重命名。

```python
def rename_images(folder_path):
    # 列出文件夹中所有的图片文件
    image_files = [f for f in os.listdir(folder_path) if f.endswith('.jpg') or f.endswith('.png')]
    
    for image_file in image_files:
        # 构建图片文件的完整路径
        image_path = os.path.join(folder_path, image_file)

        # 读取图片内容
        with open(image_path, 'rb') as f:
            image = f.read()
        
        # 调用百度OCR API进行文字识别
        result = client.basicGeneral(image)
        
        # 获取图片编号文字
        words_result = result.get('words_result')
        if words_result:
            # 提取第一个识别结果作为图片的新名称
            new_name = words_result[0].get('words') + '.jpg'
            new_path = os.path.join(folder_path, new_name)

            # 重命名图片文件
            os.rename(image_path, new_path)
            print(f'Renamed: {image_file} -> {new_name}')
        else:
            print(f'Failed to recognize text in {image_file}')
```

5. 调用函数进行识别和重命名:在代码中调用这个函数,并提供要处理的文件夹路径。

```python
folder_path = '/path/to/images/folder'
rename_images(folder_path)
```

替换 `/path/to/images/folder` 为实际的文件夹路径,确保文件夹中包含你希望进行识别和重命名的图片。执行代码后,它将会遍历指定文件夹中的每张图片,使用百度OCR技术识别文字,并将识别结果作为新的图片名称进行重命名。

请注意,百度OCR API有每天免费的请求次数和限制,如果需要更高的调用频率或容量,请查看相关文档并根据需要进行付费。