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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

通用印刷体识别 php,实战腾讯云ORC文字识别

發布時間:2025/4/16 php 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通用印刷体识别 php,实战腾讯云ORC文字识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本帖最后由 792858525 于 2019-11-8 16:16 編輯

之前弄服務器的時候無意間看到騰訊云有文字識別類的產品,在好奇的驅動下我點了進去,讓就一發不可收拾。。。。。。。

廢話不多說,直接開整

首先打開騰訊云的官網:https://cloud.tencent.com/

在云產品里找到文字識別

界面.jpg (144.2 KB, 下載次數: 0)

2019-11-8 14:02 上傳

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

界面2.jpg (86.12 KB, 下載次數: 1)

2019-11-8 14:07 上傳

大致內容就是以下幾部分,其實大致看看就好了,不想看的也可以直接掠過(重點)。

通用印刷體識別(精簡版)(免費公測版)

在這篇文章中: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]參數名稱類型描述

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

RequestIdString唯一請求 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]參數名稱類型描述

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

RequestIdString唯一請求 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 ExplorerSDK

云 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.06. 錯誤碼

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

FailedOperation.DownLoadError文件下載失敗。

FailedOperation.EmptyImageError圖片內容為空。

FailedOperation.ImageDecodeFailed圖片解碼失敗。

FailedOperation.ImageNoText圖片中未檢測到文本。

FailedOperation.OcrFailedOcr識別失敗。

FailedOperation.UnKnowError未知錯誤。

FailedOperation.UnOpenError服務未開通。

InvalidParameterValue.InvalidParameterValueLimit參數值錯誤。

LimitExceeded.TooLargeFileError文件內容太大。

ResourcesSoldOut.ChargeStatusException計費狀態異常。=================================================================================================

略的同學看到這里!!!!

首先我們來看 ,【輸入參數】

輸入參數.jpg (101.24 KB, 下載次數: 0)

2019-11-8 14:16 上傳

紅色區域的參數基本上都是寫死的,直接復制后面描述里的內容就行了。

黃色區域的兩個參數二選一,如果你會將圖片編碼成Base64格式,推薦使用ImageBase64這個參數

當然不會的話,也可以使用ImageUrl這個參數,相比前者這個會慢一些。

很多同學會說說到這,我還是不會怎么用,沒關系,慢慢來,淡定!!!!

接下來我們看,【輸出參數】

很簡單,兩部分,TextDetections??和??RequestId,TextDetections??這個很重要,放到后面講

輸出參數.jpg (34.77 KB, 下載次數: 0)

2019-11-8 14:23 上傳

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

json.jpg (54.08 KB, 下載次數: 0)

2019-11-8 14:31 上傳

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

識別結果.jpg (67.51 KB, 下載次數: 0)

2019-11-8 14:38 上傳

說了這么久代碼到底該怎么寫

我只能說的,重要的代碼幾乎不用你來寫,看過來!!!

看到開發文檔的第5點(那里有神器)

工具.jpg (36.14 KB, 下載次數: 0)

2019-11-8 14:44 上傳

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

工具界面.jpg (262.41 KB, 下載次數: 0)

2019-11-8 14:48 上傳

1.選擇你的產品版本

2.選擇開發語言

3.查看自己的密鑰

4.填寫密鑰

5.選擇地區

6.添加圖片路徑

7.復制代碼

然后打開idea,創建maven項目,并利用插件轉換成web項目(也可以用骨架)

大致項目結構如下

項目結構.jpg (38.18 KB, 下載次數: 0)

2019-11-8 14:53 上傳

有關spring的配置這里不做講解,跟平常一樣沒什么特別的。

看代碼:

packagecom.tencent.controller;importcom.tencentcloudapi.common.Credential;importcom.tencentcloudapi.common.exception.TencentCloudSDKException;importcom.tencentcloudapi.common.profile.ClientProfile;importcom.tencentcloudapi.common.profile.HttpProfile;importcom.tencentcloudapi.ocr.v20181119.OcrClient;importcom.tencentcloudapi.ocr.v20181119.models.GeneralEfficientOCRRequest;importcom.tencentcloudapi.ocr.v20181119.models.GeneralEfficientOCRResponse;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.ResponseBody;@Controllerpublic classORCController {@RequestMapping(value ="scan",produces ="application/json;charset=UTF-8")@ResponseBody//imageAddr為圖片的路徑,前端調用傳值。publicString scan(String imageAddr){try{

System.out.println(imageAddr);

Credential cred =newCredential("你的SecretId", "你的SecretKey");

HttpProfile httpProfile = newHttpProfile();

httpProfile.setEndpoint("ocr.tencentcloudapi.com");

ClientProfile clientProfile = newClientProfile();

clientProfile.setHttpProfile(httpProfile);

OcrClient client = newOcrClient(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));

returnGeneralEfficientOCRRequest.toJsonString(resp);

} catch(TencentCloudSDKException e) {

System.out.println(e.toString());

returne.toString();

}

}

}

將之前在線調試時,代碼main函數中的內容和導包的代碼拷貝下來。注意導包的時候可能會包錯需要在pom.xml中添加騰訊云的依賴文件

com.tencentcloudapi

tencentcloud-sdk-java

3.0.101

看到前端請求,前端有個問題,因為上傳圖片的地址只能是url,所以對于沒有服務器沒有域名的我該怎么辦,于是我到網上找到了一個可以上傳的網絡相冊,大家可以自己到網上搜索,我使用的那個叫做帖圖庫,同樣有開發文檔和實例

bar.jpg (27.06 KB, 下載次數: 0)

2019-11-8 15:05 上傳

然后就是編寫前端頁面啦,這里我使用的是bootstrap+jQuery來寫的jsp。這里就只放出識別請求和上傳圖片的js代碼,頁面大家可以按自己的需求編寫發送請求到后臺識別文字

$(function() {

scan();

});

varurl;

functionscan() {

$("#scanBtn").click(function() {

$.ajax({

url:"/scan.do",

data:{"imageAddr":url},

success:function(reasult) {

varstr="";

vardatas= reasult.TextDetections;

for(itemofdatas){

str+=item.DetectedText+"
";

}

$("#getReasult").html(str);

}

});

});

}

上傳圖片的請求

$(':button').click(function(){

varformData= newFormData($('form')[0]);

$.ajax({

url: 'http://up.imgapi.com/',

type: 'POST',

xhr: function() {

myXhr= $.ajaxSettings.xhr();

if(myXhr.upload){

myXhr.upload.addEventListener('progress',progressHandlingFunction, false);

}

returnmyXhr;

},

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});

});

functionprogressHandlingFunction(e){

if(e.lengthComputable){

$('progress').attr({value:e.loaded,max:e.total});

}

}

注意要定義一個全局變量url,因為在請求識別的時候有用到哦!!!!這里的上傳文件的請求,大家可以直接下載貼圖庫的案例,然后按需求再去修改就可以了。

最后看一下效果吧!識別結果不是百分百準確,因為畢竟是免費的嘛

test1.jpg (32.16 KB, 下載次數: 0)

2019-11-8 15:17 上傳

test2.jpg (68.57 KB, 下載次數: 0)

2019-11-8 15:17 上傳

test3.jpg (60.56 KB, 下載次數: 0)

2019-11-8 15:18 上傳

可以看到,識別出來的文字,還是有一點點問題的。好了就到這里,有什么問題下面留言,看到了我會回復的。

第一次弄這個,有什么做錯了或者做的不好的地方,望見諒,大神勿噴!!!

總結

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

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