• 百度AI开发平台-文字高精度识别


      最近需要检测一下书籍封面的LOGO问题,文字识别,只能试试百度的api接口了,然后通用接口好办、直接传url值为图片的http地址就行,但是你说,高精度的那个,按照文档:所有图片均需要base64编码、去掉编码头后再进行urlencode。我试了几次,网上的工具也好,自己写demo处理也好就是返回image format error,刚开始试了一个demo:

    <?php
        $img = '1.jpg';
        $base64_img = base64EncodeImage($img);
        echo '<img src="' . $base64_img . '" />';
          
        function base64EncodeImage ($image_file) {
            $base64_image = '';
            $image_info = getimagesize($image_file);
            $image_info['mime'] = 'image/jpg';
            $image_data = fread(fopen($image_file, 'r'), filesize($image_file));
            $base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
            return $base64_image;
        }

    是可以正确显示用base64显示图片,但是还是不ok,早上起来莫名其妙好了,希望能帮到一些跟我一样遇到这样问题的人,脚本:

    <?php
    function post($url,$post_data){
        //初始化
        $curl = curl_init();
        //设置抓取的url
        curl_setopt($curl, CURLOPT_URL, $url);
        //设置头文件的信息作为数据流输出
        curl_setopt($curl, CURLOPT_HEADER, 0);
        //设置获取的信息以文件流的形式返回,而不是直接输出。
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        //设置post方式提交
        //关闭https验证
         curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
         curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    
        curl_setopt($curl, CURLOPT_POST, 1);
        //设置post数据
        curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
        //执行命令
        $data = curl_exec($curl);
        //关闭URL请求
        curl_close($curl);
        //显示获得的数据
        return $data;
    }
    
    
    function detail_ocr($image_url){
        // 文字识别 - 高精度版
        $access_token = '123456';
        $url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic?access_token='.$access_token;
        $img = file_get_contents($image_url);
        $img = base64_encode($img);
        $headers['Content-Type'] = 'application/x-www-form-urlencoded';
        $bodys = array(
            'image' => $img,
        );
        $res = post($url, $bodys);
        return $res;
    }
  • 相关阅读:
    log日志框架和LocationAwareLogger问题
    Eclipse 各种小图标的含义
    自定义log4j日志级别
    在Tomcat配置JNDI数据源的三种方式
    mybatis中"#"和"$"的区别
    Postman用法简介-Http请求模拟工具
    mustache模板技术(转)
    VS的编译选项
    Java Service Wrapper简介与使用
    还活着
  • 原文地址:https://www.cnblogs.com/xuweiqiang/p/9848169.html
Copyright © 2020-2023  润新知