欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 【实操之 图像处理与百度api-python版本】

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

2024/11/30 13:30:52 来源:https://blog.csdn.net/m0_73412753/article/details/143833805  浏览:    关键词:【实操之 图像处理与百度api-python版本】

1 cgg带你建个工程

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

先对图片进行一点处理

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

import cv2
import os
def preprocess_images(input_folder, output_folder):# 确保输出文件夹存在if not 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 is None: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客户端初始化代码def get_file_content(filePath):with open(filePath, "rb") as fp:return fp.read()def char_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)def process_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)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com