• 技术文章 >后端开发 >php教程

    php实现ocr文字识别

    2016-07-30 13:29:32原创3445
    更多:http://www.webyang.net/Html/web/article_161.html

    OCR的百度定义 (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。

    作为一个工程师,在实际编程中,可能需要把图片中的文字显示出来,这就需要用到ocr技术。因为php开发,所以优先选择php,找了php的ocr扩展测试了下,结果发现不可用(地址:http://sourceforge.net/projects/phpocr.berlios)?网上也看了很多朋友的demo,基本上原理都是对图片分解成0,1矩阵,然后根据特征,转化成相应的字符串。测试几个都是不可行的。然后看到别人说PHP搞OCR的很少,也不适合,语言效率太低,这种算法需要很高的效率。可以尝试C,MATLAB 等的OCR算法。搞matlab的玩OCR这类偏算法的很多。

    无奈才虚学浅,不会C。无意中却发现百度有ocr的api提供:http://apistore.baidu.com/apiworks/servicedetail/146.html。

    写了个玩下:

    1. php
    2. header("Content-type: text/html; charset=utf-8");
    3. function curl($img){
    4. $ch = curl_init();
    5. $url ='http://apis.baidu.com/apistore/idlocr/ocr';//百度ocr api
    6. $header = array(
    7. 'Content-Type:application/x-www-form-urlencoded',
    8. 'apikey:69c2ace1ef297ce88869f0751cb1b618',
    9. );
    10. $data_temp = file_get_contents($img);
    11. $data_temp = urlencode(base64_encode($data_temp));
    12. //封装必要参数
    13. $data ="fromdevice=pc&clientip=127.0.0.1&detecttype=LocateRecognize&languagetype=CHN_ENG&imagetype=1&image=".$data_temp;
    14. curl_setopt($ch, CURLOPT_HTTPHEADER , $header);// 添加apikey到header
    15. curl_setopt($ch, CURLOPT_POST,1);
    16. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);// 添加参数
    17. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    18. curl_setopt($ch , CURLOPT_URL , $url);// 执行HTTP请求
    19. $res = curl_exec($ch);
    20. if($res === FALSE){
    21. echo "cURL Error: ". curl_error($ch);
    22. }
    23. curl_close($ch);
    24. $temp_var = json_decode($res,true);
    25. return $temp_var;
    26. }
    27. $wordArr = curl('4.jpg');
    28. if($wordArr['errNum']==0){
    29. var_dump($wordArr);
    30. }else{
    31. echo "识别出错:".$wordArr["errMsg"];
    32. }

    测试了几张图片,准确度还是蛮高的。百分百的话,是不现实的~


    版权声明:本文为博主原创文章,未经博主允许不得转载。

    以上就介绍了php实现ocr文字识别,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:curl quot ocr CURLOPT setopt
    上一篇:PHP内核探索:变量类型的转换 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 基于PHP的简单采集数据入库程序_PHP• PHP中读取文件的8种方法和代码实例_PHP• PHP实现的连贯操作、链式操作实例_PHP• php Sql Server连接失败问题及解决办法_PHP• Zend引擎的发展[15]_PHP
    1/1

    PHP中文网