国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

百度OCR識別圖片文本字符串——物聯(lián)網(wǎng)上位機軟件

這篇具有很好參考價值的文章主要介紹了百度OCR識別圖片文本字符串——物聯(lián)網(wǎng)上位機軟件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、開發(fā)背景

? ? ? ? 根據(jù)項目需求,我們需要完成LED顯示屏實時顯示歌詞的效果。最優(yōu)的方法是調用歌曲播放器的API獲取歌詞,但是由于這個開發(fā)資格不是很好申請,因此我們采用其他方案,即通過OCR識別獲取歌詞,并投射到LED顯示屏上。本項目使用IDEA開發(fā)。

? ? ? ? 本文將跳過對歌詞的截圖以及后續(xù)將文本投射到LED顯示屏的代碼,下文將主要介紹如何調用百度OCR文字識別的API接口,并將識別的文本打印出來。

二、具體實現(xiàn)

? ? ? ? 首先,登錄百度開發(fā)者中心,進行實名認證后,創(chuàng)建應用程序。

百度OCR識別圖片文本字符串——物聯(lián)網(wǎng)上位機軟件,嵌入式工程師開發(fā),ocr,物聯(lián)網(wǎng)

? ? ? ? API開發(fā)文檔:通用文字識別(標準版)

百度OCR識別圖片文本字符串——物聯(lián)網(wǎng)上位機軟件,嵌入式工程師開發(fā),ocr,物聯(lián)網(wǎng)

? ? ? ? 根據(jù)開發(fā)文檔,首先我們需要從本地讀取圖片,并進行Base64編碼與URLencode.

 // 讀取圖片文件為字節(jié)數(shù)組
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);
}
// 將字節(jié)數(shù)組轉換為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中,我們需要先創(chuàng)建一個HttpClient對象和HttpRequest對象,這將用于封裝和發(fā)送請求,并在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參數(shù)為encodedString
        .POST(HttpRequest.BodyPublishers.ofString("image=" + encodedString))
        .build();

? ? ? ? 發(fā)送請求,并獲取HttpResponse對象,此處我們需要捕捉異常。

// 發(fā)送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);
}

? ? ? ? 根據(jù)開發(fā)文檔,獲取返回狀態(tài)碼等信息,并提取出我們需要的信息打印輸出。

百度OCR識別圖片文本字符串——物聯(lián)網(wǎng)上位機軟件,嵌入式工程師開發(fā),ocr,物聯(lián)網(wǎng)

// 獲取響應狀態(tài)碼
int statusCode = response.statusCode();
// 獲取響應體內容
String body = response.body();
// 打印結果
System.out.println("請求狀態(tài)編碼: " + 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 "";
    }
}

三、運行測試

? ? ? ? 打開音樂播放器,查看運行效果。

百度OCR識別圖片文本字符串——物聯(lián)網(wǎng)上位機軟件,嵌入式工程師開發(fā),ocr,物聯(lián)網(wǎng)

? ? ? ? 不難看到,我們已經(jīng)成功識別了相關文本,下一步只需要調用LED顯示屏的開發(fā)文檔將文字發(fā)送到顯示屏即可。

? ? ? ? 注意,上述代碼中的APIToken應該動態(tài)獲取,本文未提及,具體可查看:鑒權認證機制文章來源地址http://www.zghlxwxcb.cn/news/detail-741996.html

到了這里,關于百度OCR識別圖片文本字符串——物聯(lián)網(wǎng)上位機軟件的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • [微信小程序踩坑]微信小程序editor富文本組件渲染字符串時,內部圖片超出大小導致無法正常渲染或回顯(數(shù)據(jù)傳輸長度為 3458 KB,存在有性能問題!)

    [微信小程序踩坑]微信小程序editor富文本組件渲染字符串時,內部圖片超出大小導致無法正常渲染或回顯(數(shù)據(jù)傳輸長度為 3458 KB,存在有性能問題!)

    富文本組件: 回顯方法: bug復現(xiàn): 數(shù)據(jù):\\\"p杰佛的撒嬌佛是阿達分階段實施的佛教的撒img src=\\\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/

    2024年02月08日
    瀏覽(31)
  • React實現(xiàn)字符串首字母大寫、翻轉字符串、獲取用戶選定的文本

    React實現(xiàn)字符串首字母大寫、翻轉字符串、獲取用戶選定的文本

    在這個React的案例中,我們首先導入了React和useState鉤子函數(shù)。 然后,我們定義了一個函數(shù)組件 App ,它包含了兩個狀態(tài)變量 inputText 和 outputText ,分別用于存儲輸入文本和輸出文本。 我們使用 useState 鉤子函數(shù)來創(chuàng)建這兩個狀態(tài)變量,并通過數(shù)組解構賦值的方式獲取它們的當前

    2024年01月24日
    瀏覽(22)
  • iOS鏈式編程風格 -- 富文本字符串

    ????????鏈式編程風格是一種將多個函數(shù)調用連接起來,形成一條函數(shù)調用鏈的編程風格。這種風格的代碼可以通過返回 self 或某個適當?shù)膶ο髞韺崿F(xiàn)。 代碼簡潔、連貫、易于閱讀。 可以將一個方法的輸出直接作為下一個方法的輸入,降低中間變量的使用。 鏈式調用過長

    2024年02月14日
    瀏覽(19)
  • 深入了解字符串處理算法與文本操作技巧

    引言 字符串處理是計算機科學和數(shù)據(jù)處理的核心領域之一。本博客將深入介紹一些常見的字符串處理算法和文本操作技巧,包括字符串匹配、搜索、正則表達式、字符串操作和文本標準化等。 暴力匹配算法 什么是暴力匹配? 暴力匹配算法是一種最簡單的字符串匹配方法,它

    2024年02月10日
    瀏覽(69)
  • IDE /字符串 /字符編碼與文本文件(如cpp源代碼文件)

    IDE /字符串 /字符編碼與文本文件(如cpp源代碼文件)

    前期在整理 《IDE/VS項目屬性中的 <字符集> 配置項》 和 《IDE /Qt Creator 文本編輯器之文件編碼設置》和 《IDE /C4819: 該文件包含不能在當前代碼頁(936)中表示的字符》等文章的過程中,做了不少關于字符編碼的測試,解決了一些問題,但是也讓我有了些新的問題和思考。簡單

    2024年02月16日
    瀏覽(21)
  • pg使用sql將文本字符串轉換成時間格式

    使用 PostgreSQL 數(shù)據(jù)庫的 SQL 查詢語句將文本字符串轉換為時間格式,可以使用 to_timestamp 函數(shù)。 假設您的文本字符串時間格式為 “yyyy-MM-dd HH:mm:ss”,您可以使用以下 SQL 查詢來轉換: 這將返回一個時間戳類型的結果,其中包含從文本字符串轉換而來的時間。 您可以在您的

    2024年02月12日
    瀏覽(31)
  • elementui圖片上傳轉為base64字符串

    場景:后端需要將上傳的圖片文件作為base64字符串的方式傳參給他。 html代碼 js代碼

    2024年02月09日
    瀏覽(29)
  • Base64字符串與圖片的相互轉換

    Base64字符串與圖片的相互轉換

    本篇博客記載的是一個我們在開發(fā)過程中很常用的一個小功能,就是我們在處理圖片的時候做數(shù)據(jù)存放到數(shù)據(jù)庫的功能, 我們存放的不再是本地路徑而是一個Base64的字符串! 然后我們在取值的時候又將Base64轉換為一個圖片文件的做法 簡單的兩個步驟: Base64Util: ImageUtils: 使用

    2024年02月15日
    瀏覽(24)
  • 查找目錄中所有內容文本中不含某個特定字符串的文件列表

    查找目錄中所有內容中不含某個特定字符串的文件的列表 -type f 表示只查找文件; !表示對匹配條件進行取反,即不含特定字符串; {} ;? 將每個被找到的文件作為參數(shù)傳遞給find后面的grep命令,其中: 花括號是 find 命令使用的占位符,用于知道在何處插入當前正在使用的文

    2024年02月19日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包