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

天津市建设管理委员会网站优化服务

天津市建设管理委员会网站,优化服务,WordPress前台用户发布,咸阳哪里做网站一、开发背景 根据项目需求,我们需要完成LED显示屏实时显示歌词的效果。最优的方法是调用歌曲播放器的API获取歌词,但是由于这个开发资格不是很好申请,因此我们采用其他方案,即通过OCR识别获取歌词,并投射到LED显示屏上…

一、开发背景

        根据项目需求,我们需要完成LED显示屏实时显示歌词的效果。最优的方法是调用歌曲播放器的API获取歌词,但是由于这个开发资格不是很好申请,因此我们采用其他方案,即通过OCR识别获取歌词,并投射到LED显示屏上。本项目使用IDEA开发。

        本文将跳过对歌词的截图以及后续将文本投射到LED显示屏的代码,下文将主要介绍如何调用百度OCR文字识别的API接口,并将识别的文本打印出来。

二、具体实现

        首先,登录百度开发者中心,进行实名认证后,创建应用程序。

        API开发文档:通用文字识别(标准版)

        根据开发文档,首先我们需要从本地读取图片,并进行Base64编码与URLencode.

 // 读取图片文件为字节数组
File file = new File("D:\\Led_Display\\screenshot.png");
byte[] imageBytes = new byte[0];
try {imageBytes = Files.readAllBytes(file.toPath());
} catch (IOException e) {throw new RuntimeException(e);
}
// 将字节数组转换为base64编码的字符串
String base64String = Base64.getEncoder().encodeToString(imageBytes);
// 将base64编码的字符串进行urlencode
encodedString=null;//清空
try {encodedString = URLEncoder.encode(base64String, "UTF-8");
} catch (UnsupportedEncodingException e) {throw new RuntimeException(e);
}
// 打印结果
System.out.println("Base64编码后图片:"+encodedString);

        在JAVA中,我们需要先创建一个HttpClient对象和HttpRequest对象,这将用于封装和发送请求,并在request对象中带入上面编码的图片信息。

request = HttpRequest.newBuilder()// 设置请求的URL,其中access_token是通过API Key和Secret Key获取的.uri(URI.create("https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=???"))// 设置请求的Header,Content-Type为application/x-www-form-urlencoded.header("Content-Type", "application/x-www-form-urlencoded")// 设置请求的Body,image参数为encodedString.POST(HttpRequest.BodyPublishers.ofString("image=" + encodedString)).build();

        发送请求,并获取HttpResponse对象,此处我们需要捕捉异常。

// 发送HttpPost对象,并获取HttpResponse对象
HttpResponse<String> response = null;
try {response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
} catch (IOException e) {throw new RuntimeException(e);
} catch (InterruptedException e) {throw new RuntimeException(e);
}

        根据开发文档,获取返回状态码等信息,并提取出我们需要的信息打印输出。

// 获取响应状态码
int statusCode = response.statusCode();
// 获取响应体内容
String body = response.body();
// 打印结果
System.out.println("请求状态编码: " + statusCode);
System.out.println("响应Body: " + body);
if(statusCode!=200)return "";
else
{JsonParser jsonParser=new JsonParser();JsonObject jsonObject= (JsonObject) jsonParser.parse(body);JsonArray words_result = jsonObject.getAsJsonArray("words_result");if(words_result.size()>=1) {JsonObject json = (JsonObject) jsonParser.parse(words_result.get(0).toString());System.out.println("解析到的文本为:" + json.get("words").toString());System.out.println("OCR功能测试正常");return json.get("words").toString();}else {System.out.println("OCR未识别到任何文本");return "";}
}

三、运行测试

        打开音乐播放器,查看运行效果。

        不难看到,我们已经成功识别了相关文本,下一步只需要调用LED显示屏的开发文档将文字发送到显示屏即可。

        注意,上述代码中的APIToken应该动态获取,本文未提及,具体可查看:鉴权认证机制

http://www.dtcms.com/wzjs/390926.html

相关文章:

  • 旅游网站开发报价单新疆头条今日头条新闻
  • 甘肃网站建设网站优化方案范文
  • 银行网站建设方案视频软文推广文章
  • 平面设计公司属于什么行业厦门seo排名
  • wordpress 图片叠加肇庆seo排名外包
  • 网站建设得花多少钱东莞网络公司排行榜
  • 做相亲网站的红娘累吗电商软文范例
  • 网站开发总结福州seo按天收费
  • 聊城手机网站建设费用618网络营销策划方案
  • 莆田网站建设开发长沙关键词优化新报价
  • 网站主题类型公司网站推广费用
  • 外贸b2c网站诊断百度权重优化软件
  • 企业大型网站开发设计建站流程宁波seo教程推广平台
  • 哈尔滨最新疫情最新消息行动轨迹seo官网优化
  • 网站建设情况上海最新新闻热点事件
  • 什么样的网站利于百度优化青岛官网seo公司
  • 哈尔滨网络兼职网站建设独立站网站
  • 浙江交通工程建设集团网站国外b站不收费免费2023
  • 重庆做营销型网站建设公司网络营销运营公司
  • 新疆建设兵团第二中学招生网站小学生关键词大全
  • 沈阳妇科私立医院排名优化网站排名推广
  • 国内 响应式网站网站seo平台
  • 如何网站做百度推广网络安全
  • 珠海网站建设zhkmkj爱站数据
  • 网站安全检测漏洞扫描风险等级分布合肥seo网站排名优化公司
  • 中国做国际期货最大的网站校园推广方案
  • b2c网站怎么制作动态网站的制作与设计
  • 做产品批发的网站百度竞价推广开户内容
  • 三门峡做网站公司网站seo优化服务商
  • css购物网站选中商品样式怎么做网络营销推广要求