废话不多说,直接看效果预览(截图)
百度开放平台 是否有图片转文字文字识别的接口API?
当然有!
百度开放平台确实提供图片转文字的OCR文字识别接口API,具体接口信息及调用方式如下:
一、核心接口功能
通用文字识别 支持识别印刷体文字,包含中英文及数字,适应常规图片场景。 网络图片文字识别
优化复杂背景、艺术字体等网络图片的识别,支持返回文字位置、行置信度等详细信息。 多语言与格式支持
支持中文简/繁体、英文、日语、韩语等多种语言,兼容JPG、PNG、BMP等常见图片格式。
二、接入流程
注册与创建应用
登录百度AI开放平台,在控制台选择“文字识别”服务,创建应用并填写相关信息(如应用名称、场景描述)。
创建完成后,系统生成唯一的API Key和Secret Key,需妥善保存25。 获取Access Token
调用接口前需通过API Key和Secret Key获取访问令牌(Access Token)。示例代码如下(Python):
require('config.php');
API_KEY = "your_api_key";
SECRET_KEY = "your_secret_key";
$token_url = "https://aip.baidubce.com/oauth/2.0/token";
$params = {
"grant_type": "client_credentials",
"client_id": API_KEY,
"client_secret": SECRET_KEY
}
$response = curl_post(token_url, params);
$access_token = $resonponse["access_token"];
调用OCR接口
通过HTTP请求调用接口,支持直接上传图片(Base64编码)或传递图片URL。示例代码片段:
<?php
require 'config.php';
header('Content-Type: application/json');
// 检查文件上传
if (empty($_FILES['image'])) {
echo json_encode(['error' => '未上传图片']);
exit;
}
$file = $_FILES['image'];
// 验证文件类型和大小(<2MB)
$allowedTypes = ['image/jpeg', 'image/png', 'image/bmp'];
if (!in_array($file['type'], $allowedTypes) || $file['size'] > 2097152) {
echo json_encode(['error' => '仅支持JPEG/PNG/BMP格式且小于2MB的图片']);
exit;
}
// 获取Access Token
$tokenParams = [
'grant_type' => 'client_credentials',
'client_id' => API_KEY,
'client_secret' => SECRET_KEY
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, TOKEN_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($tokenParams));
$tokenResponse = curl_exec($ch);
curl_close($ch);
$tokenData = json_decode($tokenResponse, true);
if (!isset($tokenData['access_token'])) {
echo json_encode(['error' => '获取Token失败: ' . $tokenData['error_description']]);
exit;
}
// 图片转Base64
$imageData = base64_encode(file_get_contents($file['tmp_name']));
// 调用OCR接口
$ocrParams = [
'access_token' => $tokenData['access_token'],
'image' => $imageData
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, OCR_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($ocrParams));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
$ocrResponse = curl_exec($ch);
curl_close($ch);
$ocrData = json_decode($ocrResponse, true);
// 处理结果
if (isset($ocrData['error_code'])) {
echo json_encode(['error' => "OCR错误({$ocrData['error_code']}): {$ocrData['error_msg']}"]);
} else {
$text = '';
foreach ($ocrData['words_result'] as $item) {
$text .= $item['words'] . "\n";
}
echo json_encode(['text' => trim($text)]);
}
使用说明
配置百度OCR
登录百度AI开放平台 创建文字识别应用,获取API Key和Secret Key 修改config.php中的配置信息
部署要求
PHP环境(需开启curl扩展)
支持HTTPS(百度API需要)
运行效果
上传图片后显示预览图
返回识别结果
自动换行显示
错误信息会明确提示
扩展优化建议
添加图片格式限制提示
增加加载状态指示
添加频率限制防止滥用
缓存Access Token(当前每次请求获取新Token)
此Demo完整实现了图片上传→调用百度OCR→返回识别结果的全流程,可直接部署使用。
示例演示:
演示地址:点击演示
源码下载:
下载地址:点击下载
参考文献:
1、基于Uni-app前端框架的SUMER UI3.0组件库
2、uniapp精仿支付宝UI界面源码下载,基于SumerUI一款仿支付宝APP
3、uniapp精仿微信源码,基于SumerUI一款仿微信APP应用
SUMER UI
【用于开发APP
、小程序
、H5网站
、毕业设计
…】
评论