日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实战腾讯云ORC文字识别

發布時間:2023/12/18 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实战腾讯云ORC文字识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前弄服務器的時候無意間看到騰訊云有文字識別類的產品,在好奇的驅動下我點了進去,讓就一發不可收拾。。。。。。。
廢話不多說,直接開整
首先打開騰訊云的官網:https://cloud.tencent.com/
在云產品里找到文字識別

開通業務后,可以在右上角找到武林秘籍(開發文檔)

大致內容就是以下幾部分,其實大致看看就好了,不想看的也可以直接掠過(重點)。
通用印刷體識別(精簡版)(免費公測版)

在這篇文章中:

  • 1. 接口描述
  • 2. 輸入參數
  • 3. 輸出參數
  • 4. 示例
    • 示例1 通用印刷體識別(精簡版)示例代碼
  • 5. 開發者資源
    • API Explorer
    • SDK
    • 命令行工具
  • 6. 錯誤碼

1. 接口描述

接口請求域名: ocr.tencentcloudapi.com 。

本接口支持多場景、任意版面下整圖文字的識別。相較于“通用印刷體識別”接口,精簡版接口在準召率有一定損失的情況下,耗時更短。適用于對接口耗時較為敏感的客戶。

默認接口請求頻率限制:10次/秒。

2. 輸入參數

以下請求參數列表僅列出了接口請求參數和部分公共參數,完整公共參數列表見?公共請求參數。

[td]

參數名稱

必選

類型

描述

Action

String

公共參數,本接口取值:GeneralEfficientOCR

Version

String

公共參數,本接口取值:2018-11-19

Region

String

公共參數,詳見產品支持的?地域列表,本接口僅支持其中的: ap-beijing, ap-guangzhou, ap-hongkong, ap-shanghai, na-toronto

ImageBase64

String

圖片的 Base64 值。
支持的圖片格式:PNG、JPG、JPEG,暫不支持 GIF 格式。
支持的圖片大小:所下載圖片經Base64編碼后不超過 3M。圖片下載時間不超過 3 秒。
圖片的 ImageUrl、ImageBase64 必須提供一個,如果都提供,只使用 ImageUrl。

ImageUrl

String

圖片的 Url 地址。
支持的圖片格式:PNG、JPG、JPEG,暫不支持 GIF 格式。
支持的圖片大小:所下載圖片經 Base64 編碼后不超過 3M。圖片下載時間不超過 3 秒。
圖片存儲于騰訊云的 Url 可保障更高的下載速度和穩定性,建議圖片存儲于騰訊云。
非騰訊云存儲的 Url 速度和穩定性可能受一定影響。

3. 輸出參數[td]

參數名稱

類型

描述

TextDetections

Array of?TextDetection

檢測到的文本信息,具體內容請點擊左側鏈接。

RequestId

String

唯一請求 ID,每次請求都會返回。定位問題時需要提供該次請求的 RequestId。

文檔中心??文字識別??API 文檔??通用文字識別相關接口??通用印刷體識別(精簡版)(免費公測版)
通用印刷體識別(精簡版)(免費公測版)

在這篇文章中:

  • 1. 接口描述
  • 2. 輸入參數
  • 3. 輸出參數
  • 4. 示例
    • 示例1 通用印刷體識別(精簡版)示例代碼
  • 5. 開發者資源
    • API Explorer
    • SDK
    • 命令行工具
  • 6. 錯誤碼

1. 接口描述

接口請求域名: ocr.tencentcloudapi.com 。

本接口支持多場景、任意版面下整圖文字的識別。相較于“通用印刷體識別”接口,精簡版接口在準召率有一定損失的情況下,耗時更短。適用于對接口耗時較為敏感的客戶。

默認接口請求頻率限制:10次/秒。

2. 輸入參數

以下請求參數列表僅列出了接口請求參數和部分公共參數,完整公共參數列表見?公共請求參數。

[td]

參數名稱

必選

類型

描述

Action

String

公共參數,本接口取值:GeneralEfficientOCR

Version

String

公共參數,本接口取值:2018-11-19

Region

String

公共參數,詳見產品支持的?地域列表,本接口僅支持其中的: ap-beijing, ap-guangzhou, ap-hongkong, ap-shanghai, na-toronto

ImageBase64

String

圖片的 Base64 值。
支持的圖片格式:PNG、JPG、JPEG,暫不支持 GIF 格式。
支持的圖片大小:所下載圖片經Base64編碼后不超過 3M。圖片下載時間不超過 3 秒。
圖片的 ImageUrl、ImageBase64 必須提供一個,如果都提供,只使用 ImageUrl。

ImageUrl

String

圖片的 Url 地址。
支持的圖片格式:PNG、JPG、JPEG,暫不支持 GIF 格式。
支持的圖片大小:所下載圖片經 Base64 編碼后不超過 3M。圖片下載時間不超過 3 秒。
圖片存儲于騰訊云的 Url 可保障更高的下載速度和穩定性,建議圖片存儲于騰訊云。
非騰訊云存儲的 Url 速度和穩定性可能受一定影響。

3. 輸出參數[td]

參數名稱

類型

描述

TextDetections

Array of?TextDetection

檢測到的文本信息,具體內容請點擊左側鏈接。

RequestId

String

唯一請求 ID,每次請求都會返回。定位問題時需要提供該次請求的 RequestId。

4. 示例示例1 通用印刷體識別(精簡版)示例代碼輸入示例

https://ocr.tencentcloudapi.com/?Action=GeneralEfficientOCR&ImageUrl=https://xx/a.jpg&<公共請求參數>

輸出示例

{??"Response": {? ? "TextDetections": [? ?? ?{? ?? ???"DetectedText": "夏天的飛鳥,” 飛到我窗前唱歌,又飛去了。",? ?? ???"Confidence": 93,? ?? ???"Polygon": [? ?? ?? ? {? ?? ?? ?? ?"X": 30,? ?? ?? ?? ?"Y": 147? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 30,? ?? ?? ?? ?"Y": 126? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 384,? ?? ?? ?? ?"Y": 133? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 384,? ?? ?? ?? ?"Y": 155? ?? ?? ? }? ?? ???],? ?? ???"AdvancedInfo": "{\"Parag\":{\"ParagNo\":1}}"? ?? ?},? ?? ?{? ?? ???"DetectedText": "秋天的黃葉,它們沒有什么可唱,只嘆息聲,飛落在那里。",? ?? ???"Confidence": 99,? ?? ???"Polygon": [? ?? ?? ? {? ?? ?? ?? ?"X": 27,? ?? ?? ?? ?"Y": 200? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 27,? ?? ?? ?? ?"Y": 179? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 532,? ?? ?? ?? ?"Y": 185? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 532,? ?? ?? ?? ?"Y": 206? ?? ?? ? }? ?? ???],? ?? ???"AdvancedInfo": "{\"Parag\":{\"ParagNo\":2}}"? ?? ?},? ?? ?{? ?? ???"DetectedText": "Stray birds of summer come to my window to sing and fly away.",? ?? ???"Confidence": 79,? ?? ???"Polygon": [? ?? ?? ? {? ?? ?? ?? ?"X": 25,? ?? ?? ?? ?"Y": 304? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 25,? ?? ?? ?? ?"Y": 285? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 606,? ?? ?? ?? ?"Y": 289? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 606,? ?? ?? ?? ?"Y": 308? ?? ?? ? }? ?? ???],? ?? ???"AdvancedInfo": "{\"Parag\":{\"ParagNo\":3}}"? ?? ?},? ?? ?{? ?? ???"DetectedText": "And yellow leaves of autumn, which have no songs, flutter and fall there with a sign.",? ?? ???"Confidence": 81,? ?? ???"Polygon": [? ?? ?? ? {? ?? ?? ?? ?"X": 24,? ?? ?? ?? ?"Y": 357? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 24,? ?? ?? ?? ?"Y": 339? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 782,? ?? ?? ?? ?"Y": 342? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 782,? ?? ?? ?? ?"Y": 360? ?? ?? ? }? ?? ???],? ?? ???"AdvancedInfo": "{\"Parag\":{\"ParagNo\":4}}"? ?? ?},? ?? ?{? ?? ???"DetectedText": "飛鳥集",? ?? ???"Confidence": 99,? ?? ???"Polygon": [? ?? ?? ? {? ?? ?? ?? ?"X": 844,? ?? ?? ?? ?"Y": 558? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 844,? ?? ?? ?? ?"Y": 524? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 969,? ?? ?? ?? ?"Y": 525? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 969,? ?? ?? ?? ?"Y": 560? ?? ?? ? }? ?? ???],? ?? ???"AdvancedInfo": "{\"Parag\":{\"ParagNo\":5}}"? ?? ?},? ?? ?{? ?? ???"DetectedText": "STRAYBIRDS",? ?? ???"Confidence": 99,? ?? ???"Polygon": [? ?? ?? ? {? ?? ?? ?? ?"X": 739,? ?? ?? ?? ?"Y": 576? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 739,? ?? ?? ?? ?"Y": 594? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 973,? ?? ?? ?? ?"Y": 592? ?? ?? ? },? ?? ?? ? {? ?? ?? ?? ?"X": 973,? ?? ?? ?? ?"Y": 574? ?? ?? ? }? ?? ???],? ?? ???"AdvancedInfo": "{\"Parag\":{\"ParagNo\":6}}"? ?? ?}? ? ],? ? "RequestId": "8dd99adb-5144-43ca-8213-f6a929ce5075"??}}

5. 開發者資源API Explorer

該工具提供了在線調用、簽名驗證、SDK 代碼生成和快速檢索接口等能力,能顯著降低使用云 API 的難度,推薦使用。

  • API 3.0 Explorer

SDK

云 API 3.0 提供了配套的開發工具集(SDK),支持多種編程語言,能更方便的調用 API。

  • Tencent Cloud SDK 3.0 for Python
  • Tencent Cloud SDK 3.0 for Java
  • Tencent Cloud SDK 3.0 for PHP
  • Tencent Cloud SDK 3.0 for Go
  • Tencent Cloud SDK 3.0 for NodeJS
  • Tencent Cloud SDK 3.0 for .NET

命令行工具

  • Tencent Cloud CLI 3.0

6. 錯誤碼

以下僅列出了接口業務邏輯相關的錯誤碼,其他錯誤碼詳見?公共錯誤碼。

[td]

錯誤碼

描述

FailedOperation.DownLoadError

文件下載失敗。

FailedOperation.EmptyImageError

圖片內容為空。

FailedOperation.ImageDecodeFailed

圖片解碼失敗。

FailedOperation.ImageNoText

圖片中未檢測到文本。

FailedOperation.OcrFailed

Ocr識別失敗。

FailedOperation.UnKnowError

未知錯誤。

FailedOperation.UnOpenError

服務未開通。

InvalidParameterValue.InvalidParameterValueLimit

參數值錯誤。

LimitExceeded.TooLargeFileError

文件內容太大。

ResourcesSoldOut.ChargeStatusException

計費狀態異常。

=================================================================================================
略的同學看到這里!!!!
首先我們來看 ,【輸入參數】

紅色區域的參數基本上都是寫死的,直接復制后面描述里的內容就行了。
黃色區域的兩個參數二選一,如果你會將圖片編碼成Base64格式,推薦使用ImageBase64這個參數
當然不會的話,也可以使用ImageUrl這個參數,相比前者這個會慢一些。
很多同學會說說到這,我還是不會怎么用,沒關系,慢慢來,淡定!!!!
接下來我們看,【輸出參數】
很簡單,兩部分,TextDetections??和 RequestId,TextDetections??這個很重要,放到后面講

RequestId 主要就是當出現問題的時候用來定位問題需要的參數。至于TextDetections 看一下后面實例中的返回參數自然就懂了

我們可以看到返回的數據是一個json,可以看到就是TextDetections??和 RequestId兩部分,TextDetections里有五條數據,就是識別出來的五條數據。TextDetections里的參數代表的意義如下圖:

說了這么久代碼到底該怎么寫
我只能說的,重要的代碼幾乎不用你來寫,看過來!!!
看到開發文檔的第5點(那里有神器)

打開后看到如下界面,一步一步操作

1.選擇你的產品版本
2.選擇開發語言
3.查看自己的密鑰
4.填寫密鑰
5.選擇地區
6.添加圖片路徑
7.復制代碼
然后打開idea,創建maven項目,并利用插件轉換成web項目(也可以用骨架)
大致項目結構如下
?
有關spring的配置這里不做講解,跟平常一樣沒什么特別的。
看代碼:
package com.tencent.controller;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.ocr.v20181119.OcrClient;
import com.tencentcloudapi.ocr.v20181119.models.GeneralEfficientOCRRequest;
import com.tencentcloudapi.ocr.v20181119.models.GeneralEfficientOCRResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ORCController { @RequestMapping(value = "scan",produces = "application/json;charset=UTF-8" ) @ResponseBody? ? //imageAddr為圖片的路徑,前端調用傳值。
? ??public String scan(String imageAddr){ try{
? ?? ?? ?? ?System.out.println(imageAddr);
? ?? ?? ?? ?Credential cred = new Credential("你的SecretId", "你的SecretKey");
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("ocr.tencentcloudapi.com");

ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);

OcrClient client = new OcrClient(cred, "ap-guangzhou", clientProfile);
String params = "{\"ImageUrl\":\""+imageAddr+"\"}";
GeneralEfficientOCRRequest req =? ?? ?? ?? ?? ?? ?GeneralEfficientOCRRequest.fromJsonString(params, GeneralEfficientOCRRequest.class);

GeneralEfficientOCRResponse resp = client.GeneralEfficientOCR(req);

System.out.println(GeneralEfficientOCRRequest.toJsonString(resp));

? ?? ?? ?? ?return GeneralEfficientOCRRequest.toJsonString(resp);
} catch (TencentCloudSDKException e) {

System.out.println(e.toString());
? ?? ?? ?? ?return e.toString();
}
}
}
將之前在線調試時,代碼main函數中的內容和導包的代碼拷貝下來。注意導包的時候可能會包錯需要在pom.xml中添加騰訊云的依賴文件
<dependency> ??<groupId>com.tencentcloudapigroupId>
??<artifactId>tencentcloud-sdk-javaartifactId>
??<version>3.0.101version>
dependency> 看到前端請求,前端有個問題,因為上傳圖片的地址只能是url,所以對于沒有服務器沒有域名的我該怎么辦,于是我到網上找到了一個可以上傳的網絡相冊,大家可以自己到網上搜索,我使用的那個叫做帖圖庫,同樣有開發文檔和實例 然后就是編寫前端頁面啦,這里我使用的是bootstrap+jQuery來寫的jsp。這里就只放出識別請求和上傳圖片的js代碼,頁面大家可以按自己的需求編寫發送請求到后臺識別文字 <script> ? ??$(function () { ? ?? ???scan(); }); ? ??var url; ? ??function scan() { ? ?? ??$("#scanBtn").click(function () { ? ?? ?? ???$.ajax({ ? ?? ?? ?? ?? ?url:"/scan.do", ? ?? ?? ?? ?? ?data:{"imageAddr":url}, ? ?? ?? ?? ?? ?success:function (reasult) { ? ?? ?? ?? ?? ?? ??var str=""; ? ?? ?? ?? ?? ?? ??var datas = reasult.TextDetections; ? ?? ?? ?? ?? ?? ??for (item of datas){ ? ?? ?? ?? ?? ?? ?? ???str+=item.DetectedText+"
"
; } ? ?? ?? ?? ?? ?? ??$("#getReasult").html(str); } }); }); } script>上傳圖片的請求<script> ? ??$(':button').click(function(){ ? ?? ???var formData = new FormData($('form')[0]); ? ?? ???$.ajax({ ? ?? ?? ?? ?url: 'http://up.imgapi.com/', ? ?? ?? ?? ?type: 'POST', ? ?? ?? ?? ?xhr: function() { ? ?? ?? ?? ?? ??myXhr = $.ajaxSettings.xhr(); ? ?? ?? ?? ?? ??if(myXhr.upload){ ? ?? ?? ?? ?? ?? ???myXhr.upload.addEventListener('progress',progressHandlingFunction, false); } ? ?? ?? ?? ?? ??return myXhr; }, ? ?? ?? ?? ?beforeSend: function(){ ? ?? ?? ?? ?? ??$('progress').show(); }, ? ?? ?? ?? ?success: function(data){ ? ?? ?? ?? ?? ??console.log(data); ? ?? ?? ?? ?? ??alert("上傳成功"); ? ?? ?? ?? ?? ??url = data.linkurl; }, ? ?? ?? ?? ?error: function(data){ ? ?? ?? ?? ?? ??console.log(data); }, ? ?? ?? ?? ?data:formData, ? ?? ?? ?? ?cache: false, ? ?? ?? ?? ?contentType: false, ? ?? ?? ?? ?processData: false }); }); ? ??function progressHandlingFunction(e){ ? ?? ???if(e.lengthComputable){ ? ?? ?? ?? ?$('progress').attr({value:e.loaded,max:e.total}); } } script>
注意要定義一個全局變量url,因為在請求識別的時候有用到哦!!!!這里的上傳文件的請求,大家可以直接下載貼圖庫的案例,然后按需求再去修改就可以了。
最后看一下效果吧!識別結果不是百分百準確,因為畢竟是免費的嘛

更多Java學習資料可關注:gzitcast

總結

以上是生活随笔為你收集整理的实战腾讯云ORC文字识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。