首页 > 社区问答列表 >关于用php,OCR识别图片表格,怎么才能识别出来的图片完整的按原来格式显示

  关于用php,OCR识别图片表格,怎么才能识别出来的图片完整的按原来格式显示

这是我的原代码:


/**

 * Post请求

 *

 * @param string $url 地址

 * @param array $headers Http Header

 * @param string $body 内容

 * @return string

 */


function post($url, $headers, $body) {

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_HEADER, false);

    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    curl_setopt($ch, CURLOPT_POST, true);

    curl_setopt($ch, CURLOPT_POSTFIELDS, $body);

    $response = curl_exec($ch);

    curl_close($ch);

    return $response;

}


// 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id

// 示例代码中 x-ti-app-id 非真实数据

const APP_ID = '9d285d1c896';

// 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code

// 示例代码中 x-ti-secret-code 非真实数据

const SECRET_CODE = '7be1f6203f';

// 通用表格识别

const URL = 'https://api.textin.com/ai/service/v2/recognize/table';


$headers = [

    'x-ti-app-id:' . APP_ID,

    'x-ti-secret-code:' .  SECRET_CODE

];

$fileData = file_get_contents('123.png', false, stream_context_create([

    'http' => [

        'header' => 'Content-Type: image/png\r\n'

    ]

]));

$response = post(URL, $headers, $fileData);

$ocrResult = json_decode($response, true);


function displayTable($table) {

    echo "

";

    foreach ($table as $row) {

        echo "

";

        foreach ($row as $cell) {

            echo "

";

        }

        echo "

";

    }

    echo "

" . $cell[0]['text'] . "
";

}


$table = $ocrResult['result']['tables'][0]['table_cells'];

displayTable($table);


$ocrResult多维数组函数,能正确获取到,但是按原来的格式,在屏幕上显示表格及内容,不行,

这是识别出来的部份表格内容:

array(5) { ["code"]=> int(200) ["message"]=> string(7) "success" ["duration"]=> int(289) ["result"]=> array(4) { ["angle"]=> int(0) ["height"]=> int(219) ["tables"]=> array(1) { [0]=> array(8) { ["height_of_rows"]=> array(6) { [0]=> int(46) [1]=> int(17) [2]=> int(29) [3]=> int(32) [4]=> int(20) [5]=> int(20) } ["type"]=> string(15) "table_with_line" ["table_cells"]=> array(55) { [0]=> array(8) { ["end_row"]=> int(0) ["borders"]=> array(4) { ["right"]=> int(-1) ["bottom"]=> int(-1) ["left"]=> int(-1) ["top"]=> int(-1) } ["position"]=> array(8) { [0]=> int(1) [1]=> int(49) [2]=> int(635) [3]=> int(49) [4]=> int(635) [5]=> int(95) [6]=> int(1) [7]=> int(95) } ["end_col"]=> int(11) ["start_row"]=> int(0) ["start_col"]=> int(0) ["lines"]=> array(1) { [0]=> array(7) { ["angle"]=> int(0) ["text"]=> string(6) "宋体" ["direction"]=> int(1) ["handwritten"]=> int(0) ["position"]=> array(8) { [0]=> int(7) [1]=> int(60) [2]=> int(29) [3]=> int(60) [4]=> int(29) [5]=> int(73) [6]=> int(7) [7]=> int(73) } ["score"]=> float(0.845) ["type"]=> string(4) "text" } } ["text"]=> string(6) "宋体" } [1]=> array(8) { ["end_row"]=> int(1) ["borders"]=> array(4) { ["right"]=> int(-1) ["bottom"]=> int(-1) ["left"]=> int(-1) ["top"]=> int(-1) } ["position"]=> array(8) { [0]=> int(2) [1]=> int(95) [2]=> int(26) [3]=> int(95) [4]=> int(26) [5]=> int(112) [6]=> int(2) [7]=> int(112) } ["end_col"]=> int(0) ["start_row"]=> int(1) ["start_col"]=> int(0) ["lines"]=> array(0) { } ["text"]=> string(0) "" } [2]=> array(8) { ["end_row"]=> int(1) ["borders"]=> array(4) { ["right"]=> int(-1) ["bottom"]=> int(-1) ["left"]=> int(-1) ["top"]=> int(-1) } ["position"]=> array(8) { [0]=> int(26) [1]=> int(95) [2]=> int(84) [3]=> int(95) [4]=> int(84) [5]=> int(112) [6]=> int(26) [7]=> int(112) } ["end_col"]=> int(1) ["start_row"]=> int(1) ["start_col"]=> int(1) ["lines"]=> array(1) { [0]=> array(7) { ["angle"]=> int(0) ["text"]=> string(1) "A" ["direction"]=> int(0) ["handwritten"]=> int(0) ["position"]=> array(8) { [0]=> int(49) [1]=> int(100) [2]=> int(61) [3]=> int(100) [4]=> int(61) [5]=> int(112) [6]=> int(49) [7]=> int(112) } ["score"]=> float(0.849) ["type"]=> string(4) "text" } } ["text"]=> string(1) "A" } [3]=> array(8) { ["end_row"]=> int(1) ["borders"]=> array(4) { ["right"]=> int(-1) ["bottom"]=> int(-1) ["left"]=> int(-1) ["top"]=> int(-1) } ["position"]=> array(8) { [0]=> int(84) [1]=> int(95) [2]=> int(150) [3]=> int(95) [4]=> int(150) [5]=> int(112) [6]=> int(84) [7]=> int(112) } ["end_col"]=> int(2) ["start_row"]=> int(1) ["start_col"]=> int(2) ["lines"]=> array(1) { [0]=> array(7) { ["angle"]=> int(0) ["text"]=> string(1) "B" ["direction


P粉269094165
P粉269094165

无数据提示还没有回复,楼主喊你快去抢前排~~~我来回答