手机app设计网站公司网站建设需要什么科目
news/
2025/10/6 10:14:03/
文章来源:
手机app设计网站,公司网站建设需要什么科目,国家企业信用公示信息系统入口,做网站怎样租用虚拟空间流程图 一、前期准备
1.1 打开百度智能云官网找到管理中心创建应用 全选文字识别
1.2 保存好AppId、API Key和Secret Key 1.3 找到通用场景文字识别#xff0c;立即使用 1.4 根据自己需要#xff0c;选择要开通的项目 二、代码编写
以通用文字识别#xff08;高精度版立即使用 1.4 根据自己需要选择要开通的项目 二、代码编写
以通用文字识别高精度版为例
2.1 加依赖pom.xml dependencies!-- 引入Spring Boot的web starter依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 引入Lombok依赖 --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- 引入Spring Boot的测试依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- 百度人工智能依赖 --dependencygroupIdcom.baidu.aip/groupIdartifactIdjava-sdk/artifactIdversion4.11.3/version/dependency!-- okhttp --!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp --dependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp/artifactIdversion4.12.0/version/dependency!-- 对象转换成json --dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.8/version/dependency!-- thymeleaf模板引擎 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependency/dependencies
2.2 编写yml文件
# 这是一个配置块用于设置百度OCR服务的认证信息。
baidu:ocr: # OCR服务的配置项appId: # 百度OCR服务的应用IDapiKey: # 百度OCR服务的API密钥secretKey: # 百度OCR服务的密钥spring:thymeleaf:cache: false
2.3 eneity层
package com.baiduocr.entity;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;/*** BaiduOcrProperties类用于配置百度OCR服务的相关属性。* 该类通过ConfigurationProperties注解与配置文件中的baidu.ocr前缀绑定* 使得我们可以从配置文件中动态读取appId, apiKey和secretKey等属性值*/
Data
Configuration
ConfigurationProperties(prefix baidu.ocr)
public class BaiduOcrProperties {// 百度OCR的App IDprivate String appId;// 百度OCR的API Keyprivate String apiKey;// 百度OCR的Secret Keyprivate String secretKey;
}
2.5 控制器
package com.baiduocr.controller;import com.baidu.aip.ocr.AipOcr;
import com.baiduocr.entity.BaiduOcrProperties;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;import okhttp3.*;/*** OcrController类负责处理OCR相关的请求。* 它利用百度OCR服务对上传的文件或文本进行识别并返回识别结果。*/Controller
public class OcrController {// 注入BaiduOcrProperties对象用于获取百度OCR服务的配置信息private final BaiduOcrProperties baiduOcrProperties;// 创建一个OkHttpClient对象用于发送HTTP请求到百度OCR服务static final OkHttpClient HTTP_CLIENT new OkHttpClient().newBuilder().build();// 构造函数注入BaiduOcrProperties对象用于初始化BaiduOcrProperties对象Autowiredpublic OcrController(BaiduOcrProperties baiduOcrProperties) {this.baiduOcrProperties baiduOcrProperties;}RequestMapping(value {/, /ocr})public String index() {return ocr;}/*** 处理OCR识别请求。** param file 用户上传的文件将进行OCR识别。* param model Spring模型用于在识别后向视图传递数据。* return 视图名称根据识别结果决定是显示结果还是错误页面。*/RequestMapping(value /doOcr)public String ocr(MultipartFile file, Model model) {try {ListString ocrResult performOcr(file); // 执行OCR识别model.addAttribute(ocrResult, ocrResult); // 将识别结果添加到模型中} catch (Exception e) {return error; // 识别失败返回错误页面}return ocr_result; // 识别成功返回结果页面}/*** 执行OCR识别操作。** param file 需要进行OCR识别的文件。* return 识别到的文本列表。* throws Exception 如果识别过程中出现错误则抛出异常。*/private ListString performOcr(MultipartFile file) throws Exception {AipOcr client new AipOcr(baiduOcrProperties.getAppId(), baiduOcrProperties.getApiKey(), baiduOcrProperties.getSecretKey()); // 创建百度OCR客户端// 获取Access TokenString accessToken getAccessToken();HashMapString, String options new HashMap(); // 设置OCR识别的选项options.put(language_type, CHN_ENG);options.put(detect_direction, true);options.put(detect_language, true);options.put(probability, true);byte[] buf file.getBytes(); // 从文件中读取内容JSONObject res client.basicAccurateGeneral(buf, options); // 使用高精度接口进行通用文字识别ListString wordsList new ArrayList(); // 存储识别出的文本for (Object obj : res.getJSONArray(words_result)) { // 遍历识别结果提取文本JSONObject jsonObj (JSONObject) obj;wordsList.add(jsonObj.getString(words));}return wordsList;}/*** 从百度OCR服务获取Access Token。** return Access Token用于身份验证。* throws IOException 如果在获取Access Token过程中出现IO错误。*/private String getAccessToken() throws IOException {MediaType mediaType MediaType.parse(application/x-www-form-urlencoded);RequestBody body RequestBody.create(mediaType, grant_typeclient_credentialsclient_id baiduOcrProperties.getApiKey() client_secret baiduOcrProperties.getSecretKey());Request request new Request.Builder().url(https://aip.baidubce.com/oauth/2.0/token).method(POST, body).addHeader(Content-Type, application/x-www-form-urlencoded).build();Response response HTTP_CLIENT.newCall(request).execute(); // 发送请求获取响应return new JSONObject(response.body().string()).getString(access_token); // 从响应中提取Access Token}}
2.6 前端页面thymeleaf
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleOCR识别/title
/head
bodyh1上传图片进行OCR识别/h1
form th:action{/doOcr} methodpost enctypemultipart/form-datainput typefile namefile acceptimage/*button typesubmit上传并识别/button
/form/body
stylebody {font-family: Arial, sans-serif;margin: 0;padding: 0;display: flex;flex-direction: column;align-items: center;background-color: #f8f9fa;}h1 {color: #343a40;margin-top: 20px;}form {margin: 20px 0;padding: 20px;border: 1px solid #dee2e6;border-radius: 5px;background-color: #fff;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}input[typefile] {margin-bottom: 10px;}button {background-color: #007bff;color: white;padding: 10px 20px;border: none;border-radius: 5px;cursor: pointer;}button:hover {background-color: #0056b3;}
/style
/html
!DOCTYPE html
html langen xmlns:thhttp://www.thymeleaf.org
headmeta charsetUTF-8titleOCR结果/title
/head
bodyh1OCR识别结果/h1
div th:if${ocrResult ! null}ulli th:eachword : ${ocrResult} th:text${word}/li/ul
/div
a href/返回首页/a/body
stylebody {font-family: Arial, sans-serif;margin: 0;padding: 0;display: flex;flex-direction: column;align-items: center;background-color: #f8f9fa;}h1 {color: #343a40;margin-top: 20px;}div {margin: 20px 0;padding: 20px;border: 1px solid #dee2e6;border-radius: 5px;background-color: #fff;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);width: 80%;max-width: 800px;}ul {list-style-type: none;padding: 0;}li {padding: 5px 0;border-bottom: 1px solid #dee2e6;}a {margin-top: 20px;color: #007bff;text-decoration: none;}a:hover {text-decoration: underline;}
/style
/html
三、效果展示
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929201.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!