当前位置: 首页 > news >正文

【实操之 图像处理与百度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)

http://www.lryc.cn/news/504542.html

相关文章:

  • java 导出word锁定且部分内容解锁可编辑
  • SQL 在线格式化 - 加菲工具
  • 大数据法律法规——《关键信息基础设施安全保护条例》(山东省大数据职称考试)
  • 【CVE-2024-5660】ARM CPU漏洞:硬件页面聚合(HPA)安全通告
  • 数智读书笔记系列008 智人之上:从石器时代到AI时代的信息网络简史
  • 将 Ubuntu 22.04 LTS 升级到 24.04 LTS
  • 【自动驾驶】Ubuntu20.04安装ROS1 Noetic
  • (转,自阅,侵删)【LaTeX学习笔记】一文入门LaTeX(超详细)
  • css的选择器有哪些?权重由大到小是怎么排序的?
  • CTF知识集-PHP特性
  • 比特币是否会取代美元(以及其他主权货币)
  • WPF+MVVM案例实战与特效(三十七)- 实现带有水印和圆角的自定义 TextBox 控件
  • 深度学习训练参数之学习率介绍
  • 导游现场面试需要注意的问题
  • Burp suite 3 (泷羽sec)
  • LabVIEW前面板无法显示的常见原因
  • 【Syncfusion系列】Diagram 杂谈 第三篇 序列化和反序列化
  • Apache APISIX快速入门
  • 【经典】制造供应链四类策略(MTS、MTO、ATO、ETO)细说
  • 基于stm32的红外测温系统设计(论文+源码)
  • 前端WebSocket应用——聊天实时通信的基本配置
  • 博弈论1:拿走游戏(take-away game)
  • Debezium OracleValueConverters 分析
  • WPF 消息循环(二)
  • ubuntu上更改ext4格式的硬盘为 windows的 NTFS 格式参考
  • Fastapi教程:使用 aioredis 连接池执行Redis 的高效异步操作
  • 配置mysqld(读取选项内容,基本配置),数据目录(配置的必要性,目录下的内容,具体文件介绍,修改配置)
  • docker 容器相互访问
  • 算法1(蓝桥杯18)-删除链表的倒数第 N 个节点
  • 【PyTorch】动态调整学习率 torch.optim.lr_scheduler.StepLR 调度器