Ocr 2.0 Release(拖延症)
PHP / 10 月前

Ocr 2.0 Release(拖延症)

三年前在 Github 发布了一个图片识别的 PHP 扩展包 godruoyi/ocr,主要功能是整合几大厂商的图片识别接口,方便统一调用。

当初设计都比较简单,基本是能用就行;

一年后觉得自己技术牛逼了,知识过硬了 ,打算重新发布个版本,已更新下那难看的 last commit,随便慰藉自己当初开源的初衷

file

然后大刀阔斧的开整,结果婚结完了,朋友朋友的婚都结完了、两年过去了,我才重构了 20%。

file

趁着现在大家都去旅游去了而我还在公司上班的打工命,噼里啪啦完成了 2.0 的改造,算是完成了今年的一番壮举吧。

其实当初还规划了在 2.0 添加响应过滤的功能,原型都写好了:

use Godruoyi\OCR\Support\Response;

$application->aliyun->filters(function (Response $response) {
    $body = $response->toArray();
    return $body['Response']['IdNum'] ?? null;
})->idcard('...'); // will return string|null

然鹅没想到完美的错误处理方式,那还不如不做,交给开发者自己来魔改吧。阿宝就经跟常我说:「你的拖延症啥时候改改啊」。

就连这篇文章都是几天前写的,然后写了一半,还得现在来补齐。啥时候能一鼓作气,再而兴,三而旺呢。

  • 2.0 好用,👍

    2020-11-21 10:21:23
  • 嘿嘿嘿

    2020-12-05 16:10:54
  • 1.0 正常使用, 2.0 提示 {"error_code":14,"error_msg":"IAM Certification failed"}", 是账号发生了改变吗

    2021-01-26 03:04:24
  • 你是调用的哪个 client 的哪个方法出现的这个错误呢,能贴下图不

    2021-01-26 04:46:07
  • $aOption = [
    	'probability' => false,
    	'detect_direction' => false,
    ];
    $aResult = $oOCR->baidu->generalBasic($sPhoto, $aOption);
    
    2021-01-27 12:04:42
  • 我在本地尝试下面两种调用都能正常返回,不然你检查下你百度云 access_key/secret_key 配置呢,还有其他问题的话,欢迎到提个 Issue

    public function testGeneralBasic()
    {
        $response = $this->application->baidu->generalBasic(__DIR__.'/stubs/common.png', [
            'probability' => false,
            'detect_direction' => false,
        ]);
    
        $this->assertInstanceOf(Response::class, $response);
        $this->assertTrue($response->getStatusCode() == 200);
    }
    
    public function testGeneralBasicOnline()
    {
        $response = $this->application->baidu->generalBasic('https://img.alicdn.com/tfs/TB1de9cvHuWBuNjSszgXXb8jVXa-900-2767.jpg', [
            'probability' => false,
            'detect_direction' => false,
        ]);
    
        $this->assertInstanceOf(Response::class, $response);
        $this->assertTrue($response->getStatusCode() == 200);
    }
    

    测试

    Time: 3.34 seconds, Memory: 6.00MB
    
    OK (3 tests, 5 assertions)
    
    2021-01-28 01:38:43
  • 1

    2021-01-28 02:11:06

Godruoyi