0


【实操之 图像处理与百度api-python版本】

1 cgg带你建个工程

如图 不然你的pip baidu-aip 用不了
在这里插入图片描述

先对图片进行一点处理

$ 灰度处理
$ 滤波处理
参考

import cv2
import os
defpreprocess_images(input_folder, output_folder):# 确保输出文件夹存在ifnot os.path.exists(output_folder):
        os.makedirs(output_folder)# 获取输入文件夹中所有图片的文件名
    image_files =[f for f in os.listdir(input_folder)if f.lower().endswith(('.png','.jpg','.jpeg'))]# 初始化计数器
    count =1for image_file in image_files:# 构建完整的输入文件路径
        input_path = os.path.join(input_folder, image_file)# 读取图片
        image = cv2.imread(input_path)if image isNone:print(f"Warning: Unable to read image {input_path}")continue# 转换为灰度图
        gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 应用高斯滤波去除噪声
        blurred_image = cv2.GaussianBlur(gray_image,(5,5),0)# 构建输出文件名(如 a01.png)
        output_file =f"a{count:02d}{os.path.splitext(image_file)[1]}"
        output_path = os.path.join(output_folder, output_file)# 保存处理后的图片到文件
        cv2.imwrite(output_path, blurred_image)# 打印处理结果print(f"Processed {input_path} and saved as {output_path}")# 增加计数器
        count +=1print("Processing complete.")# 调用函数处理图片
input_folder ="C:\\Users\\Administrator\\Downloads\\ora"
output_folder ="C:\\Users\\Administrator\\Downloads\\pred"
preprocess_images(input_folder, output_folder)

然后再申请百度api

https://console.bce.baidu.com/ai/?_=1634647029968&fromai=1#/ai/ocr/overview/index

在这里插入图片描述

领 66

在这里插入图片描述

看文档,改代码

在这里插入图片描述

发现报错


pip  install  baidu-aip
pip  install  chardet
像我一样 setting 中 自己检查

在这里插入图片描述

识别代码

import os
from aip import AipOcr

""" 你的 APPID AK SK """# 换自己的,包子
APP_ID ='11&&&&&&79'
API_KEY ='lenZRk17s88888888888'# 换自己的,包子
SECRET_KEY ='E7RjDl0L66666666…………………………'# 换自己的,包子

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)""" 读取文件 """# 假设您已经有一个OCR客户端实例,这里用伪代码表示# client = YourOCRClientInitializer()  # 替换为实际的OCR客户端初始化代码defget_file_content(filePath):withopen(filePath,"rb")as fp:return fp.read()defchar_change(data):# 从字典中提取 'words_result' 列表
    words_list = data.get('words_result',[])# 使用get方法以防'words_result'键不存在# 提取单词并组合,同时处理可能的连字符
    words =[]for result in words_list:
        word = result.get('words','')# 使用get方法以防'words'键不存在# 根据需要移除连字符或其他不需要的字符
        word = word.replace('-','').replace(' ','')# 也可以考虑移除空格
        words.append(word)# 使用空格或其他分隔符(如果需要的话)连接单词# 在这个例子中,我们假设车牌号应该是连续的,所以不使用分隔符
    combined_word =''.join(words)# 输出结果print(combined_word)defprocess_images_in_folder(folder_path, ocr_client):# 遍历文件夹中的所有文件for filename in os.listdir(folder_path):# 检查文件扩展名,只处理图片文件if filename.lower().endswith(('.png','.jpg','.jpeg','.bmp','.tiff')):
            file_path = os.path.join(folder_path, filename)# 读取图片内容
            image_content = get_file_content(file_path)# 调用OCR服务进行文字识别# 注意:这里假设ocr_client有一个名为basicGeneral的方法来处理图片# 并且该方法返回一个包含'words_result'键的字典
            recognition_result = ocr_client.basicGeneral(image_content)# 处理识别结果
            char_change(recognition_result)# 指定文件夹路径
folder_path ='C:\\Users\\Administrator\\Downloads\\pred'
process_images_in_folder(folder_path,client)


本文转载自: https://blog.csdn.net/m0_73412753/article/details/143833805
版权归原作者 DevangLic 所有, 如有侵权,请联系我们删除。

“【实操之 图像处理与百度api-python版本】”的评论:

还没有评论