PHP オープンソース フレームワーク Laravel と Alibaba Cloud OCR の統合のための実践ガイド
はじめに:
インターネットの発展に伴い、オンライン画像認識はますます注目を集めています。 Alibaba Cloud OCR (Optical Character Recognition、光学式文字認識) は、市場をリードする OCR サービス プロバイダーの 1 つとして、強力な画像認識機能を提供します。人気の PHP オープンソース フレームワークとして、Laravel はシンプルで効率的な開発方法を提供し、大多数の開発者に愛されています。この記事では、Alibaba Cloud OCR を Laravel プロジェクトに統合する方法と、対応するコード例を紹介します。
1. 準備:
- Alibaba Cloud アカウントを登録し、OCR サービスを有効にします。
- 新しい Laravel プロジェクトを作成するか、既存のプロジェクトを選択します。
2. Alibaba Cloud OCR SDK パッケージをインストールします
Alibaba Cloud OCR SDK の依存関係を、Laravel プロジェクトのルート ディレクトリにあるcomposer.json ファイルに追加します:
1 2 3 | "require" : {
"aliyuncs/oss-sdk-php" : "2.3.0"
}
|
ログイン後にコピー
次に、##composer update コマンドを実行して、依存関係パッケージをインストールします。
3. Alibaba Cloud OCR SDK の設定
Laravel プロジェクトのルート ディレクトリの config ディレクトリに新しい ocr.php ファイルを作成し、次のコードを追加します:
1 2 3 4 5 6 | <?php
return [
'access_key' => env( 'ALIYUN_ACCESS_KEY' , '' ),
'access_secret' => env( 'ALIYUN_ACCESS_SECRET' , '' ),
];
|
ログイン後にコピー
次に追加します。 .env ファイル Alibaba Cloud のアクセス キーとアクセス シークレット:
1 2 | ALIYUN_ACCESS_KEY=your_access_key
ALIYUN_ACCESS_SECRET=your_access_secret
|
ログイン後にコピー
4. OCR コントローラーの作成
次のコマンドを実行して OCR コントローラーを作成します。
1 | php artisan make:controller OCRController
|
ログイン後にコピー
次に、次のコードを作成された OCRController:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AlibabaCloudClientAlibabaCloud;
use AlibabaCloudClientExceptionClientException;
use AlibabaCloudClientExceptionServerException;
class OCRController extends Controller
{
public function ocr(Request $request )
{
$imagePath = $request ->file( 'image' )->path();
$fileContent = file_get_contents ( $imagePath );
AlibabaCloud::accessKeyClient(config( 'ocr.access_key' ), config( 'ocr.access_secret' ))
->regionId( 'cn-hangzhou' )
->asDefaultClient();
try {
$result = AlibabaCloud::ocr()
->v20191230()
->recognizeCharacter()
->withImageUrl( '' )
->format( 'json' )
->request();
return response()->json( $result ->toArray());
} catch (ServerException $e ) {
throw new Exception( $e ->getErrorMessage());
} catch (ClientException $e ) {
throw new Exception( $e ->getErrorMessage());
}
}
}
|
ログイン後にコピー
5. ルーティングの構成
routes/web.php ファイルに次のルートを追加します:
1 | Route::post( '/ocr' , 'OCRController@ocr' );
|
ログイン後にコピー
6. ビューの作成
単純なビューの作成画像をアップロードする場合、例:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <!DOCTYPE html>
<html>
<head>
<title>Upload Image</title>
</head>
<body>
<form method= "POST" action= "/ocr" enctype= "multipart/form-data" >
@csrf
<input type= "file" name= "image" >
<button type= "submit" >Upload</button>
</form>
</body>
</html>
|
ログイン後にコピー
7. テスト
http://your_domain/ocr にアクセスし、テスト用の画像をアップロードします。画像認識のために画像を OCR インターフェイスに送信し、結果を JSON 形式で返します。返された結果は、プロジェクトの要件に従って処理できます。
結論:
この記事の導入部を通じて、Alibaba Cloud OCR を Laravel プロジェクトに統合する方法を学びました。実際のニーズに応じて拡張し、プロジェクトに適用できます。この記事がお役に立てば幸いです!
以上がPHP オープンソース フレームワーク Laravel と Alibaba Cloud OCR の統合のための実践ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。