本文介绍了如何使用PHP SDK图片OCR接口,识别图片中的文字信息。

前提条件

已安装PHP依赖。关于安装PHP依赖的具体操作,请参见安装PHP依赖

提交图片同步检测任务

接口 描述 支持的Region
ImageSyncScanRequest 提交图片OCR同步识别任务,对图片中的文字进行识别(scene=ocr)。
  • cn-shanghai
  • cn-beijing
  • cn-shenzhen
  • ap-southeast-1
  • ap-southeast-5
示例代码
<?php

require_once 'aliyuncs/aliyun-oss-php-sdk/autoload.php';
include_once 'aliyuncs/aliyun-php-sdk-core/Config.php';

use Green\Request\V20180509 as Green;
// 请替换成您的AccessKey ID、AccessKey Secret。
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", "您的AccessKey ID", "您的AccessKey Secret");
DefaultProfile::addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
$client = new DefaultAcsClient($iClientProfile);

$request = new Green\ImageSyncScanRequest();
$request->setMethod("POST");
$request->setAcceptFormat("JSON");

$task1 = array('dataId' =>  '检测数据ID',
    'url' => '待检测图片URL'
);
// 设置待检测的图片,一张图片对应一个检测任务。
// 多张图片同时检测时,处理时间由最后一张处理完的图片决定。
// 通常情况下批量检测的平均响应时间比单张检测要长。一次批量提交的图片数越多,响应时间被拉长的概率越高。
// 代码中以单张图片检测作为示例,如果需要批量检测多张图片,请自行构建多个检测任务。
// OCR检测按照实际检测的图片张数*检测单价计费。
$request->setContent(json_encode(array(
    "tasks" => array($task1),
    "scenes" => array("ocr")
    )));
try {
    $response = $client->getAcsResponse($request);
   # print_r($response);
    if(200 == $response->code){
        $taskResults = $response->data;
        foreach ($taskResults as $taskResult) {
            if (200 == $taskResult->code) {
                $sceneResults = $taskResult->results;
                print_r($sceneResults);
            }
        }
    }else{
        print_r("detect not success. code:" + $response->code);
    }
} catch (Exception $e) {
    print_r($e);
}