构建智能未来:一键搭建AI文字、人脸识别平台
AI穿梭于像素之间,捕捉到每一丝信息的痕迹,技术给生活带来便利!✨
无论你是开发者还是创作者,AI都能为你的项目提供强大的支持。这里有几个实用的应用模块,让我们一同来看看:
图像处理:从图像中提取所需数据,助你获取关键资料。🖼️
人脸识别:精准识别和验证身份,提升安全性和便捷性。📸
身份认证:有效防止身份盗用,保护个人隐私。✅
语音识别:实现人与机器的高效交流,轻松输入和控制。🤖
人体分析:深入理解人类动作和姿态,为智能健身或医疗应用提供支持。😎
本期让我们一起从图像生成文档开始,见证AI改变生活。
下期将推出人脸识别模块实际应用。
图像转文字实际效果
项目输入:截图/拍照图片,直接前端拖拽或点击上传图片即可。
项目输出:txt文档
一、获取智能模块接口参数 & 使用说明
详细见后文
二、搭建项目
我这里选用Java项目;你也可以Python、C++、Go…
主要逻辑:
我这里选用Java项目;你也可以Python、C++、Go…
Springboot(jdk17)、Vue3创建前后端分离项目
主要逻辑:
- 上传图片,传至后端进行Base64编码。
- 后端通过注册所得密钥和接口,获取AccessToken。
- 调用智能模块处理图片。
- 获取结果,个性化处理数据。
- 自定义输出:生产TXT文件返回前端下载。
后端(部分)
-
Controller
@RestController @RequestMapping("extract") public class ExtractController { @Value("${resultPath}") String resultPath; @Autowired ExtractServive extractServive; @PostMapping("figure_txt") public void figure_txt(@RequestParam("image") MultipartFile file, HttpServletResponse response) throws IOException, JSONException { System.out.println(file.getOriginalFilename() + "图片已传入!"); String figure = ExtractUtil.fileContentAsBase64(file.getBytes()); String result = extractServive.getFigureData(figure); ExtractUtil.outputTxt(result, file.getOriginalFilename(), response); } ...... }
Service
@Service public class ExtractServive { @Value("${accessTokenUrl}") String accessTokenUrl; static OkHttpClient okHttpClient = new OkHttpClient().newBuilder().build(); public String getFigureData(String figure) throws IOException, JSONException { MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); String base64 = figure; base64 = "image=" + base64 + "&detect_direction=true¶graph=true&probability=false"; RequestBody body = RequestBody.create(mediaType, base64); Request request = new Request.Builder() .url(accessTokenUrl + ExtractUtil.getAccessToken()) .method("POST", body) .addHeader("Content-Type", "application/x-www-form-urlencoded") .addHeader("Accept", "application/json") .build(); Response response = okHttpClient.newCall(request).execute(); return response.body().string(); } }
utils
- 获取AccessToken、返回前端txt文件、base64转码…
public static String getAccessToken() throws IOException, JSONException { MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); RequestBody body = RequestBody.create(mediaType, "grant_type=client_credentials&client_id=" + client_id + "&client_secret=" + client_secret); Request request = new Request.Builder() .url("......") .method("POST", body) .addHeader("Content-Type", "application/x-www-form-urlencoded") .build(); Response response = okHttpClient.newCall(request).execute(); return new JSONObject(response.body().string()).getString("access_token"); }
public static void outputTxt(String result, String txtName, HttpServletResponse response) throws IOException { ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readTree(result).get("words_result"); StringBuffer sb = new StringBuffer(); for (JsonNode node : jsonNode) {......} String text = sb.toString(); txtName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new Date()) + "-" + txtName.split("\\.")[0] + ".txt"; response.setCharacterEncoding(StandardCharsets.UTF_8.name()) + response......; try(PrintWriter writer = response.getWriter()) { writer...... } }
properties
、dto
等略。
前端(部分)
<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
<div class="background-image">
<el-breadcrumb :separator-icon="ArrowRight">
<el-breadcrumb-item :to="{ path: '/' }">pageA</el-breadcrumb-item>
<el-breadcrumb-item>figureTotxt</el-breadcrumb-item>
</el-breadcrumb>
<hr>
<div class="upload">
<el-upload
ref="upload"
......
:http-request="uploadImage"
multiple
list-type="picture">
<el-icon :size="100">
<UploadFilled/>
</el-icon>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<template v-slot:tip>
<div class="el-upload__tip">请上传 jpg / png 文件</div>
</template>
</el-upload>
</div>
</div>
</template>
第一部分详见:登录/注册智能云 https://cloud.baidu.com
免费获取接口参数
- 进入控制台–> 免费领取资源供测试–>勾选自己项目想要的资源接口
- 点击免费调用–>前往公有云服务–> 应用列表–>点击创建新应用
- 输入应用名称
- 勾选需调用的模块接口
- 包含文字识别、语音技术、人脸识别、自然语言处理人体分析、图像处理等诸多小模块。
可谓应有尽有。
- 设置应用归属 --> 简单编辑描述 --> 一键创建你的应用。
- 可通过实例中心代码进行在线调试,也可直接在你的项目中间进行调用干活。
需完整工程请关注:有点建树。
下期人脸识别见。
漫漫征途,唯有奋斗;愿以萤火微光,汇凌云之芒。