利用Python批量进行图片文字识别

实现逻辑

1. 批量获取图片的路径
2. 通过调用百度OCR接口批量识别图片
3. 将返回值写入txt

实现过程

1. 安装百度的Python SDK

pip install baidu-aip

2. 具体代码

from aip import AipOcr
import time
import os
#获取开始时间
start = time.time()

""" 你的 APPID AK SK """
APP_ID = '您的appid'
API_KEY = '您的AK'
SECRET_KEY = '您的SK'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)


""" 读取图片 """
def get_file_content(filePath):
    print(filePath)
    with open(filePath, 'rb') as fp:
        return fp.read()
    
""" 写入文本 """
def write_on_txt(content,filePath,linefeed = "1"):
    """
    content:要写入的内容
    filePath:要写入文件的路径
    linefeed :判断是否换行
        - 1 为不换行 
        - 其他 为换行
    """
    #只需要将之前的”w"改为“a"即可,代表追加内容
    with open(filePath,"a") as file:
        try:
            file.write(content)
        except:
            print("写入错误")
        else:
            if linefeed != "1":
                file.write("\n")

#图片路径
img_path = r"D:\图片" # 也可采用 r" D:\Test_path" 或者是"D:/Test_path"
#文本路径
txt_path = r"C:\Users\User29\Desktop\OCR\图片.txt"

options = {}

#遍历所有文件(使用 os.walk 方法)
for root,dirs,files in os.walk(img_path):
    for file in files:
        # 使用join函数将文件名称和文件所在根目录连接起来
        file_dir = os.path.join(root, file)
        print(file_dir)
        write_on_txt("=============================",txt_path,"0")
        write_on_txt("文件名:"+ file_dir,txt_path,"0")
        #判断是否是图片
        if file_dir[-4:]==".png"or file_dir[-4:]==".jpg":
            #传入图片
            image = get_file_content(file_dir)
            """ 调用通用文字识别, 图片参数为本地图片 """
            a = client.basicGeneral(image, options)
            # 查看返回的结果
            # print(a['words_result'])
            print()
            for dic in a['words_result']:
                print(dic['words'])
                write_on_txt(dic['words'],txt_path,"0")
                    
end = time.time()
print('Running time: %1.2f Seconds'%(end-start))

参考:百度文字识别官方文档

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,034评论 1 3
  • 二零一六年圣诞节,我第一次看话剧。 地点是学校大礼堂,从寝室到这里要二十七分钟十二秒。 白天看到约约约发了微博,说...
    Crush林阅读 201评论 0 0
  • 导读:《幽梦影》清代文学家张潮著的随笔体格言小品文集。张潮,字来山,号心斋。主要着眼于以优雅的心胸、眼光去发现美的...
    课后辅导陈老师阅读 955评论 0 2
  • 毕业后的一年里,有天黄昏我无所事事的坐在阳台发呆,若有所思!然后在朋友圈写道:“还记得阿宝和梁耀在ktv里撕心裂肺...
    唐英俊啊阅读 465评论 0 0
  • 春天,我逢着细雨 遇见一个天使般的姑娘 她迈着小碎步 一步一步的走过的我心 夏天,我顶着太阳 遇见一个微风一样的姑...
    江潇然阅读 254评论 1 4