最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP使用OCR技術(shù)實現(xiàn)識別圖片中的文字

 更新時間:2024年11月27日 11:05:48   作者:Student_Li  
OCR是一種通過圖像處理技術(shù)從圖片或掃描件中提取文字的技術(shù),它可以將非結(jié)構(gòu)化的圖片內(nèi)容轉(zhuǎn)化為可編輯的文本,下面我們就來看看PHP如何OCR識別圖片中的文字

在日常開發(fā)中,我們常常會遇到需要從圖片中提取文字的需求,例如處理掃描件中的文字、驗證碼識別或者實現(xiàn)文檔數(shù)字化管理。OCR(Optical Character Recognition,光學(xué)字符識別)技術(shù)可以幫助我們快速完成這項任務(wù)。今天就來聊聊,如何在 PHP 中實現(xiàn) OCR 技術(shù),從圖片中提取文字。

一、什么是OCR技術(shù)

OCR 是一種通過圖像處理技術(shù)從圖片或掃描件中提取文字的技術(shù),它可以將非結(jié)構(gòu)化的圖片內(nèi)容轉(zhuǎn)化為可編輯的文本。這種技術(shù)廣泛應(yīng)用于以下場景:

  • 證件掃描識別(如身份證、駕照等)
  • 文檔數(shù)字化存儲
  • 圖片驗證碼識別
  • 發(fā)票、票據(jù)處理

二、PHP如何實現(xiàn)OCR

盡管 PHP 本身并不提供原生的 OCR 支持,但可以通過以下幾種方式輕松實現(xiàn) OCR:

  • 使用開源 OCR 引擎,如 Tesseract-OCR
  • 調(diào)用第三方 OCR 服務(wù)(如百度智能云、阿里云、騰訊云等)。

下面我們通過 Tesseract-OCR 和百度 OCR API 兩種方式,手把手教你實現(xiàn)圖片文字識別功能。

三、方法一:使用 Tesseract-OCR

1. 什么是 Tesseract-OCR

Tesseract 是 Google 提供的一個開源 OCR 引擎,它支持多種語言的文字識別,包括中文,且可以通過簡單的命令行或程序語言調(diào)用。

2. 環(huán)境準備

安裝 Tesseract

根據(jù)你的系統(tǒng)類型安裝 Tesseract:

Ubuntu/Linux

sudo apt update
sudo apt install tesseract-ocr
sudo apt install tesseract-ocr-chi-sim # 安裝中文語言包

MacOS

brew install tesseract
brew install tesseract-lang

Windows 前往 Tesseract 官方下載頁面 下載并安裝。

3. PHP與Tesseract集成

安裝 PHP 擴展

通過 Composer 安裝適配 Tesseract 的 PHP 庫,例如 thiagoalessio/tesseract_ocr

composer require thiagoalessio/tesseract_ocr

示例代碼

以下是一個簡單的圖片文字識別示例:

<?php
require 'vendor/autoload.php';

use thiagoalessio\TesseractOCR\TesseractOCR;

// 選擇圖片
$imagePath = 'test-image.png';

// 初始化 Tesseract
$ocr = new TesseractOCR($imagePath);

// 設(shè)置語言(中文)
$ocr->lang('chi_sim'); // 簡體中文
$result = $ocr->run();

echo "識別結(jié)果:\n";
echo $result;

運行后,如果 test-image.png 中包含文字,Tesseract 將會提取并輸出文本內(nèi)容。

四、方法二:調(diào)用百度OCR API

如果你希望更快速、更精準的識別效果,使用云服務(wù)是個不錯的選擇。這里以 百度智能云 OCR 為例。

1. 注冊百度智能云

  • 訪問 百度智能云 OCR 服務(wù)。
  • 注冊賬號并創(chuàng)建應(yīng)用,獲取 API KeySecret Key。

2. 安裝 HTTP 請求庫

推薦使用 Guzzle 發(fā)送 HTTP 請求。安裝方式如下:

composer require guzzlehttp/guzzle

3. 獲取 Access Token

百度 API 的訪問需要使用 Access Token。以下是獲取 Token 的代碼:

<?php
require 'vendor/autoload.php';

use GuzzleHttp\Client;

function getAccessToken($apiKey, $secretKey) {
    $client = new Client();
    $response = $client->post('https://aip.baidubce.com/oauth/2.0/token', [
        'form_params' => [
            'grant_type' => 'client_credentials',
            'client_id' => $apiKey,
            'client_secret' => $secretKey,
        ]
    ]);

    $data = json_decode($response->getBody(), true);
    return $data['access_token'] ?? null;
}

$apiKey = '你的API Key';
$secretKey = '你的Secret Key';

$token = getAccessToken($apiKey, $secretKey);
echo "Access Token: $token\n";

4. 調(diào)用百度 OCR 接口

使用獲得的 Token 調(diào)用 OCR 接口,完成圖片文字識別:

<?php
require 'vendor/autoload.php';

use GuzzleHttp\Client;

function recognizeText($imagePath, $accessToken) {
    $client = new Client();

    // 讀取圖片并進行 Base64 編碼
    $imageData = base64_encode(file_get_contents($imagePath));

    $response = $client->post('https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic', [
        'headers' => [
            'Content-Type' => 'application/x-www-form-urlencoded',
        ],
        'query' => [
            'access_token' => $accessToken,
        ],
        'form_params' => [
            'image' => $imageData,
        ],
    ]);

    $data = json_decode($response->getBody(), true);
    return $data['words_result'] ?? [];
}

$imagePath = 'test-image.png';
$accessToken = '你的Access Token';

$result = recognizeText($imagePath, $accessToken);

echo "識別結(jié)果:\n";
foreach ($result as $item) {
    echo $item['words'] . "\n";
}

五、比較兩種方案

特點Tesseract-OCR百度智能云 OCR
適用場景本地離線識別在線云服務(wù),支持大規(guī)模處理
語言支持多語言(需安裝對應(yīng)語言包)多語言自動識別
識別精度精度一般,取決于圖片質(zhì)量精度高,適合復(fù)雜場景
復(fù)雜度安裝配置簡單需聯(lián)網(wǎng),稍復(fù)雜
費用免費部分功能收費

六、總結(jié)

通過以上兩種方案,PHP 開發(fā)者可以輕松實現(xiàn) OCR 技術(shù)在項目中的應(yīng)用:

  • 對于小型、本地化需求,Tesseract 是一個不錯的選擇。
  • 對于需要高精度、多功能的場景,云服務(wù)(如百度智能云 OCR)更為合適。

到此這篇關(guān)于PHP使用OCR技術(shù)實現(xiàn)識別圖片中的文字的文章就介紹到這了,更多相關(guān)PHP OCR識別圖片文字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PHP中如何使用Redis接管文件存儲Session詳解

    PHP中如何使用Redis接管文件存儲Session詳解

    這篇文章主要給大家介紹了關(guān)于在PHP中如何使用Redis接管文件存儲Session的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • php面向?qū)ο?一) 初窺(php面向?qū)ο蠡A(chǔ)介紹)

    php面向?qū)ο?一) 初窺(php面向?qū)ο蠡A(chǔ)介紹)

    這篇文章主要介紹了php面向?qū)ο蟮囊恍┲R,需要的朋友可以參考下
    2017-08-08
  • php中url傳遞中文字符,特殊危險字符的解決方法

    php中url傳遞中文字符,特殊危險字符的解決方法

    本文章結(jié)合php中的urldecode,base64_encode函數(shù)然后再結(jié)合自己寫的替換函數(shù)來進行安全傳遞url中文字符,特殊危險字符,有需要的朋友可以參考一下
    2013-08-08
  • PHP中常用的輸出函數(shù)總結(jié)

    PHP中常用的輸出函數(shù)總結(jié)

    這篇文章主要介紹了PHP中常用的輸出函數(shù)總結(jié),本文對echo、print、die、printf、sprintf、print_r等函數(shù)都做了簡明總結(jié),需要的朋友可以參考下
    2014-09-09
  • 關(guān)于更改Zend Studio/Eclipse代碼風(fēng)格主題的介紹

    關(guān)于更改Zend Studio/Eclipse代碼風(fēng)格主題的介紹

    本篇文章是對關(guān)于更改Zend Studio/Eclipse代碼風(fēng)格主題進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • php添加文章時生成靜態(tài)HTML文章的實現(xiàn)代碼

    php添加文章時生成靜態(tài)HTML文章的實現(xiàn)代碼

    PHP生成靜態(tài)文章HTML,有批量的生成,但比較標準的應(yīng)該是在添加文章時就生成HTML文章,編輯時再重新生成HTML文章,刪除文章時同樣也樣刪除多余出來的HTML文章,這時批量生成就顯得有點力不從心了,下面就介紹一下PHP在添加文章時如何生成靜態(tài)的HTML文件
    2013-02-02
  • php簡單計算頁面加載時間的方法

    php簡單計算頁面加載時間的方法

    這篇文章主要介紹了php簡單計算頁面加載時間的方法,涉及php針對頁面加載時間的計算技巧,需要的朋友可以參考下
    2015-06-06
  • PHP獲取url的函數(shù)代碼

    PHP獲取url的函數(shù)代碼

    PHP獲取url的html代碼,需要的朋友可以參考下。
    2011-08-08
  • php自動注冊登錄驗證機制實現(xiàn)代碼

    php自動注冊登錄驗證機制實現(xiàn)代碼

    在phpwind站點后臺添加一個名為“廣告管家”(廣告管家為CNZZ的一款廣告投放的應(yīng)用)的應(yīng)用,整個“廣告管家”的應(yīng)用是通過iframe載入,載入的具體內(nèi)容根據(jù)不同站點顯示針對該站點的具體內(nèi)容
    2011-12-12
  • 可兼容php5與php7的cURL文件上傳功能實例分析

    可兼容php5與php7的cURL文件上傳功能實例分析

    這篇文章主要介紹了可兼容php5與php7的cURL文件上傳功能,結(jié)合實例形式分析了針對php5與php7版本在使用curl進行文件上傳時的相關(guān)判定與具體操作技巧,需要的朋友可以參考下
    2018-05-05

最新評論

香格里拉县| 囊谦县| 隆德县| 绥阳县| 施秉县| 中牟县| 额敏县| 汽车| 鱼台县| 乌兰浩特市| 通辽市| 丽江市| 若羌县| 界首市| 咸丰县| 孙吴县| 博野县| 杭锦旗| 留坝县| 永川市| 中山市| 眉山市| 五寨县| 青岛市| 睢宁县| 武宁县| 蒙自县| 乌鲁木齐市| 双牌县| 田阳县| 宁海县| 丹凤县| 手游| 伽师县| 黄冈市| 贵阳市| 柳江县| 寿宁县| 西林县| 贡嘎县| 桂平市|