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

调用百度AI接口实现网络图片中的文字识别

之前也做过一些api调用的demo,一直是看API文档,向目标url发送请求,看看传哪些参数,接受哪些参数。

API平台:https://ai.baidu.com

这次使用HTTP-SDK文档。那么两者的区别是什么呢?

API 文档告诉你服务的“功能”是什么,你需要发送什么,你会得到什么。这是最根本的。

HTTP-SDK 是官方为你提供的一个“工具包”或“脚手架”。 它的目的是让你基于 API 文档进行开发时,更加方便、快速、稳定和安全。

image

首先引入依赖

<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.16.12</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId></exclusion></exclusions></dependency>

具体代码


@RestController
@RequestMapping("/files")
public class FileUploadController {// 设置APPID/AK/SKprivate static final String APP_ID = "";private static final String API_KEY = "";private static final String SECRET_KEY = "";// 初始化一个AipOcr单例private static final AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);/*** 图片文字识别接口* @param file 上传的图片文件* @return 识别结果*/@PostMapping("/ocr")public ResponseEntity<Map<String, Object>> recognizeText(@RequestParam("file") MultipartFile file) {Map<String, Object> result = new HashMap<>();if (file.isEmpty()) {result.put("code", 400);result.put("msg", "文件不能为空");return ResponseEntity.badRequest().body(result);}try {// 使用空的HashMap作为options参数HashMap<String, String> options = new HashMap<>();// 调用百度OCR接口识别图片中的文字byte[] fileBytes = file.getBytes();JSONObject res = client.webImage(fileBytes, options);result.put("code", 200);result.put("msg", "识别成功");result.put("data", res.toMap());return ResponseEntity.ok(result);} catch (Exception e) {result.put("code", 500);result.put("msg", "识别失败: " + e.getMessage());return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(result);}}
}

结果展示

image

http://www.hskmm.com/?act=detail&tid=25492

相关文章:

  • 英语_阅读_ChatGPT_待读
  • 实用指南:React 组件异常捕获机制详解
  • win11 为什么我的程序断网就转入导后台进程
  • 深入解析:AI与区块链:数据确权与模型共享的未来
  • 10.6阅读笔记
  • hetao 国庆
  • 详细介绍:运维 pgsql 安装完后某次启动不了
  • visual studio
  • [MCP] StreamableHTTPServer
  • 牛客 周赛109 20250924
  • 罗技G102螺丝型号
  • 详细介绍:深入剖析C#构造函数执行:基类调用、初始化顺序与访问控制
  • 英语_阅读_Let your baby go_待读
  • 第三章习题
  • 系统管理员的日常困境与幽默自嘲
  • AI数据标注平台获融资挑战行业巨头
  • 详细介绍:如何用 pnpm patch 给 element-plus 打补丁修复线上 bug(以 2.4.4 修复 PR#15197 为例)
  • Numericaltables1
  • ARC 207
  • 半年小结 Vol4. 跌跌撞撞开启 PhD 生涯
  • 深入解析:C++:内存管理
  • 大数求余
  • visual studio 无法打开文件
  • 基于MPPT算法的光伏并网发电系统simulink建模与仿真
  • 实用指南:【系统架构设计师】2025年上半年真题论文回忆版: 论系统负载均衡设计方法(包括解题思路和参考素材)
  • 软件版悟空博弈+WAUC构筑元人文演化之路研究报告——声明Ai研究
  • QBXT2025S刷题 Day5题
  • [KaibaMath1001] 关于∀ε0,|a-b|ε = a=b的证明
  • 基于Web的分布式图集管理系统架构设计与实践 - 教程
  • TCP小结 - 指南