当前位置: 首页 > 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.jsqmd.com/news/9163/

相关文章:

  • Golang|分布式搜索引擎中所使用到的设计模式 - 实践
  • Python 语言编程技巧
  • kafka 常用知识点 - 指南
  • 英语_阅读_ChatGPT_待读
  • QT开发技术【ffmpeg + QAudioOutput】音乐播放器 - 指南
  • 进程工具类 - C#小函数类推荐
  • 实用指南:React 组件异常捕获机制详解
  • win11 为什么我的程序断网就转入导后台进程
  • 深入解析:AI与区块链:数据确权与模型共享的未来
  • 10.6阅读笔记
  • 详细介绍:Qwen2.5-VL 损失函数
  • hetao 国庆
  • 详细介绍:AI健康小屋+微高压氧舱:科技如何重构我们的健康防线?
  • 详细介绍:运维 pgsql 安装完后某次启动不了
  • visual studio
  • [MCP] StreamableHTTPServer
  • HttpServletResponse 对象用来做什么? - 详解
  • 牛客 周赛109 20250924
  • 罗技G102螺丝型号
  • 详细介绍:深入剖析C#构造函数执行:基类调用、初始化顺序与访问控制
  • [LUCKY」在Windows下使用STUN穿透实现Minecraft联机并设置SRV记录
  • 系统管理员的日常困境与幽默自嘲
  • 详细介绍:如何用 pnpm patch 给 element-plus 打补丁修复线上 bug(以 2.4.4 修复 PR#15197 为例)
  • Numericaltables1
  • Go 为何天生适合云原生? - 指南
  • ARC 207
  • 深入解析:C++:内存管理
  • 大数求余
  • vulkan游戏引擎renderer_backend实现 - 详解
  • 基于MPPT算法的光伏并网发电系统simulink建模与仿真