吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2429|回复: 15
收起左侧

[求助] php 搞图文识别功能,怎么才能识别印章

[复制链接]
zzdd111 发表于 2023-4-4 15:26
本帖最后由 zzdd111 于 2023-4-4 15:38 编辑

老板让搞图文识别,成功一部分,但是印章这个还是不能成功,我想问问各位大神,怎么实现识别印章这个功能?
识别这中印章

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

闷骚小贱男 发表于 2023-4-4 15:54
利用OCR的API,例百度:https://cloud.baidu.com/doc/OCR/s/Mk3h7y47a
xiaobai1 发表于 2023-4-4 15:58
ouzhzh 发表于 2023-4-4 16:01
本帖最后由 ouzhzh 于 2023-4-4 16:22 编辑

楼主的意思是要识别印章,还是要识别印章里的文字?识别印章的话,可以扫描,也可以提取。好像眼下还没有可以识别文字,同时又能把印章识别并单独弄在一边的软件(因为印章是盖在文字上的)。
陌小全 发表于 2023-4-4 17:30
百度OCR:百度公司推出的OCR识别服务,支持多种类型的印章识别功能,包括公章、私章、合同章等。
阿里云OCR:阿里云推出的OCR识别服务,支持印章的类型和位置检测,能够识别公章、私章、发票章等。
腾讯优图OCR:腾讯优图推出的OCR识别服务,支持多种文本和印章识别,能够快速识别公章、合同章、营业执照章等印章类型。
wulitucao 发表于 2023-4-4 18:09
我的理解是你想用php实现印章识别(包括印章上的公司名称),如果大家都是用的电子印章,直接对接电子印章技术方的API就可以,如果是纸质扫描件的印章最便捷的方式确实就是3楼所说的印章识别API接入,有很多第三方(百度、合合)已经支持调用。如果你是想免费白嫖,那就只能借用开源的项目,例如使用Flask PaddlePaddle PaddleX架构的chapter_tagging项目,但是很关键的一个问题是识别率,第三方API识别率会高不少。
宝宝丷 发表于 2023-4-4 19:37
本帖最后由 宝宝丷 于 2023-4-4 19:39 编辑

[PHP] 纯文本查看 复制代码
// 配置 APP_ID, API_KEY, SECRET_KEY
$app_id = 'YOUR_APP_ID';
$api_key = 'YOUR_API_KEY';
$secret_key = 'YOUR_SECRET_KEY';

// 印章图片路径
$image_path = 'YOUR_IMAGE_PATH';

// 调用百度OCR API 进行印章识别
$url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/seal';
$access_token = get_access_token($app_id, $api_key, $secret_key);
$img_base64 = base64_encode(file_get_contents($image_path));
$data = array(
    'image' => $img_base64,
    'detect_direction' => 'true',
    'probability' => 'true'
);
$result = request_post($url, $data, $access_token);

// 输出结果
print_r($result);

// 获取百度 OCR API 的 access_token
function get_access_token($app_id, $api_key, $secret_key) {
    $url = 'https://aip.baidubce.com/oauth/2.0/token';
    $post_data['grant_type'] = 'client_credentials';
    $post_data['client_id'] = $api_key;
    $post_data['client_secret'] = $secret_key;
    $o = "";
    foreach ($post_data as $k=>$v)
    {
        $o.= "$k=" . urlencode( $v ). "&" ;
    }
    $post_data = substr($o,0,-1);
    $res = request_post($url, $post_data);
    $access_token = json_decode($res, true)['access_token'];
    return $access_token;
}

// 发送 POST 请求
function request_post($url = '', $post_data = array(), $access_token = '') {
    if(false == $url || empty($post_data)){
        return false;
    }
    if(!empty($access_token)){
        $url = $url.'?access_token='.$access_token;
    }
    $o = "";
    foreach ($post_data as $k=>$v)
    {
        $o.= "$k=" . urlencode( $v ). "&" ;
    }
    $post_data = substr($o,0,-1);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

    $output = curl_exec($curl);
    curl_close($curl);

    return $output;
}



以上代码中,$app_id、$api_key、$secret_key 分别为百度 OCR API 的 APP_ID、API_KEY 和 SECRET_KEY,需要替换成自己的信息;$image_path 为要识别的印章图片路径,也需要替换成自己的路径。运行代码后,会输出印章识别结果。
syh315 发表于 2023-4-4 21:17
宝宝丷 发表于 2023-4-4 19:37
[mw_shl_code=php,true]// 配置 APP_ID, API_KEY, SECRET_KEY
$app_id = 'YOUR_APP_ID';
$api_key = 'YOU ...

注册帐号分别替换就可以用了吗
X14 发表于 2023-4-4 23:25
各位脑洞比较大,哈哈
 楼主| zzdd111 发表于 2023-4-6 09:39

政府相关的,不让用百度
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 00:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表