开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: 廿六
收起左侧

[易语言成品模块] OCR模块 调用了百度和讯飞接口 可返回位置信息 毫秒级速度

[复制链接]
结帖率:0% (0/1)
发表于 2021-3-19 17:43:57 | 显示全部楼层   四川省成都市
学习借鉴下,辛苦了
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 12 天

发表于 2021-3-17 14:16:39 | 显示全部楼层   上海市上海市
看看看看看看看看
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)
 楼主| 发表于 2021-3-3 19:20:38 | 显示全部楼层   广东省潮州市
谁用这名 发表于 2021-3-3 11:43
讯飞ocr开源下啊 大佬

我不是大佬 很久没用这玩意能不能用自己测试一下

  
子程序名返回值类型公开备 注
讯飞OCR文本型 
参数名类 型参考可空数组备 注
Appid文本型
APIKey文本型
picture字节集要识别的图
coordinate逻辑型是否返回坐标
变量名类 型静态数组备 注
请求参数文本型 
URL文本型 
CurTime文本型 
Param文本型 
CheckSum文本型 
image文本型 
协议头文本型 
retuen文本型 
A整数型 
如果 (coordinate = )
请求参数 = “true”#引号“}”
请求参数 = “false”#引号“}”
URL = “https://webapi.xfyun.cn/v1/service/v1/ocr/general”
CurTime = 时间_到时间戳 (, 真, )
Param = 到文本 (编码_BASE64编码A (到字节集 ( #请求参数 + 请求参数)))
CheckSum = 取数据摘要 (到字节集 (APIKey + CurTime + Param))
image = “image=”编码_URL编码_快速 (编码_BASE64编码A (picture), )
协议头 = “X-CurTime:” + CurTime + #换行符“X-Param:” + Param + #换行符“X-Appid:” + Appid + #换行符“X-CheckSum:” + CheckSum + #换行符“Content-Type:application/x-www-form-urlencoded; charset=utf-8”
retuen = 编码_URL解码_快速 (网页_访问S (URL, 1, image, , , 协议头, , , , , , , , , , , , , , , ), 真, )
返回 (文本处理_讯飞 (retuen, coordinate))
子程序名返回值类型公开备 注
文本处理_讯飞文本型 
参数名类 型参考可空数组备 注
源文本文本型
返回坐标逻辑型
变量名类 型静态数组备 注
文本处理文本型0
局_计次整数型 
处理后的文本文本型 
文本处理 = 分割文本 (源文本, “{”#引号“confi”, )
计次循环首 (取数组成员数 (文本处理), 局_计次)
如果真 (寻找文本 (文本处理 [局_计次], “content”, , ) > 0)
处理后的文本 = 处理后的文本 + 正则_讯飞 (文本处理 [局_计次], 返回坐标)#换行符

计次循环尾 ()
返回 (处理后的文本)
子程序名返回值类型公开备 注
正则_讯飞文本型 本子程序采用【精易编程助手】生成。成功返回匹配的数量,失败返回0。
参数名类 型参考可空数组备 注
源文本文本型欲被匹配的文本
返回坐标逻辑型
变量名类 型静态数组备 注
正则正则表达式类此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
匹配数整数型 
局_计次整数型 
正则表达式文本型 
出现次数整数型 
返回文本文本型 
处理文本1文本型 
处理文本2文本型 
处理文本3文本型 
N整数型 
N = 1
如果 (返回坐标)
出现次数 = 文本_取出现次数 (源文本, “location”, )
如果真 (出现次数 ≥ 2)
出现次数 = 出现次数 - 1
计次循环首 (出现次数, )
正则表达式 = 正则表达式 + “[\S\s]*?t”#引号“:{(.*?)},[\S\s]*?m”#引号“:{(.*?)}},[\S\s]*?t”#引号“:”#引号“(.*?)”#引号“}”
计次循环尾 ()
如果真 (正则.创建 (“dence”#引号“:” + 正则表达式, 源文本, 假, 假, 真, ))
返回 (返回文本)
匹配数 = 正则.取匹配数量 ()
如果真 (匹配数 = 0)
返回 (返回文本)
计次循环首 (出现次数 × 3, 局_计次)
如果真 (局_计次 - 3 (N - 1) = 1)
处理文本1 = 文本_替换 (正则.取子匹配文本 (1, 局_计次, ), , , , #引号, “”, “x”, “”, “y”, “”, “:”, “”, , )
如果真 (局_计次 - 3 (N - 1) = 2)
处理文本2 = 文本_替换 (正则.取子匹配文本 (1, 局_计次, ), , , , #引号, “”, “x”, “”, “y”, “”, “:”, “”, , )
如果真 (局_计次 - 3 (N - 1) = 3)
处理文本3 = 文本_替换 (正则.取子匹配文本 (1, 局_计次, ), , , , #引号, “”, , , , , , , , )“ ”
如果 (局_计次 = 出现次数 × 3)
返回文本 = 返回文本 + 处理文本3 + “(” + 处理文本1 + “,” + 处理文本2 + “)”
返回文本 = 返回文本 + 处理文本3 + “(” + 处理文本1 + “,” + 处理文本2 + “) --- ”
N = N + 1

计次循环尾 ()



如果真 (正则.创建 (“content#引号:#引号(.*?)#引号}”, 源文本, 假, 假, 真, ))
返回 (返回文本)
匹配数 = 正则.取匹配数量 ()
如果真 (匹配数 = 0)
返回 (返回文本)
计次循环首 (匹配数, 局_计次)
如果 (局_计次 = 匹配数)
返回文本 = 返回文本 + 正则.取子匹配文本 (局_计次, 1, )
返回文本 = 返回文本 + 正则.取子匹配文本 (局_计次, 1, )“ --- ”

计次循环尾 ()

返回 (返回文本)


i支持库列表   支持库注释   
dp1数据操作支持库一

评分

参与人数 1精币 +1 收起 理由
谁用这名 + 1 支持开源~!感谢分享

查看全部评分

回复 支持 反对

使用道具 举报

结帖率:40% (2/5)

签到天数: 2 天

发表于 2021-3-3 11:43:02 | 显示全部楼层   福建省莆田市
讯飞ocr开源下啊 大佬  
回复 支持 反对

使用道具 举报

结帖率:40% (2/5)

签到天数: 2 天

发表于 2021-3-2 23:43:50 | 显示全部楼层   福建省莆田市
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)
 楼主| 发表于 2021-1-26 03:00:13 | 显示全部楼层   广东省潮州市
绽放青春 发表于 2020-12-1 13:43
.版本 2 .支持库 dp1  .程序集 OCR  .子程序 百度OCR, 文本型, 公开 .参数 APIkey, 文本型, , 自行申请 .参 ...

然后发现啥病毒了吗? 模块没啥问题拿出来秀什么?反编译支持库谁都有有本事自己反了再出来装 作者就是因为有太多像你这样拿着别人成果到处装所以现在不更了懂吗?
回复 支持 反对

使用道具 举报

结帖率:100% (12/12)
 楼主| 发表于 2021-1-26 02:55:18 | 显示全部楼层   广东省潮州市
4mi 发表于 2021-1-25 13:55
分开发帖,缺积分吗?

...... 什么玩意就分开发帖? 截图模块? 那不是我写出来的东西 别看到什么都得杠一下
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2021-1-25 13:55:33 | 显示全部楼层   江西省赣州市
分开发帖,缺积分吗?
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2021-1-25 13:50:07 | 显示全部楼层   江西省赣州市
最后为开发精易模块的大佬打CALL
回复 支持 反对

使用道具 举报

结帖率:58% (26/45)
发表于 2020-12-1 13:44:07 | 显示全部楼层   山东省济宁市
.版本 2
.支持库 dp1

.程序集 OCR

.子程序 百度OCR, 文本型, 公开
.参数 APIkey, 文本型, , 自行申请
.参数 SecretKey, 文本型, , 自行申请
.参数 picture, 字节集, , 需要识别的图片
.局部变量 匿名局部变量_1, 文本型
.局部变量 匿名局部变量_2, 文本型
.局部变量 匿名局部变量_3, 文本型
.局部变量 匿名局部变量_4, 文本型

匿名局部变量_3 = 字节集_到文本 (网页_访问_对象 (“https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials” + “&client_id=” + APIkey + “&client_secret=” + SecretKey + “&”, , , , , , , , , , , , , , , , , , ))
匿名局部变量_3 = 文本_取出中间文本 (匿名局部变量_3, “access_token” + #引号 + “:”, #引号 + “,”, , )
匿名局部变量_1 = “https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=” + 匿名局部变量_3
匿名局部变量_4 = 到文本 (编码_BASE64编码A (picture))
匿名局部变量_4 = 编码_URL编码_快速 (到字节集 (匿名局部变量_4), )
匿名局部变量_2 = 编码_URL解码_快速 (网页_访问S (匿名局部变量_1, 1, “image=” + 匿名局部变量_4, , , “Content-Type:application/x-www-form-urlencoded”, , , , , , , , , , , , , , , ), 真, 真)
返回 (正则处理_百度 (匿名局部变量_2))

.子程序 正则处理_百度, 文本型
.参数 匿名参数_1, 文本型
.局部变量 匿名局部变量_1, 正则表达式类
.局部变量 匿名局部变量_2, 整数型
.局部变量 匿名局部变量_3, 整数型
.局部变量 匿名局部变量_4, 文本型

.如果真 (匿名局部变量_1.创建 (“{#引号words#引号: #引号(.*?)#引号}, ”, 匿名参数_1, 假, 假, 真, 真) = 假)
    返回 (匿名局部变量_4)
.如果真结束
匿名局部变量_2 = 匿名局部变量_1.取匹配数量 ()
.如果真 (匿名局部变量_2 = 0)
    返回 (匿名局部变量_4)
.如果真结束
.计次循环首 (匿名局部变量_2, 匿名局部变量_3)
    '
    匿名局部变量_4 = 匿名局部变量_4 + 匿名局部变量_1.取子匹配文本 (匿名局部变量_3, 1, ) + #换行符
.计次循环尾 ()
返回 (匿名局部变量_4)


.子程序 讯飞OCR, 文本型, 公开
.参数 Appid, 文本型
.参数 APIKey, 文本型
.参数 picture, 字节集, , 要识别的图
.参数 coordinate, 逻辑型, 可空, 是否返回坐标
.局部变量 匿名局部变量_1, 文本型
.局部变量 匿名局部变量_2, 文本型
.局部变量 匿名局部变量_3, 文本型
.局部变量 匿名局部变量_4, 文本型
.局部变量 匿名局部变量_5, 文本型
.局部变量 匿名局部变量_6, 文本型
.局部变量 匿名局部变量_7, 文本型
.局部变量 匿名局部变量_8, 文本型
.局部变量 匿名局部变量_9, 整数型

.如果 (coordinate = 真)
    匿名局部变量_1 = “true” + #引号 + “}”
.否则
    匿名局部变量_1 = “false” + #引号 + “}”
.如果结束

匿名局部变量_2 = “https://webapi.xfyun.cn/v1/service/v1/ocr/general”
匿名局部变量_3 = 时间_到时间戳 (, 真, )
匿名局部变量_4 = 到文本 (编码_BASE64编码A (到字节集 (#匿名常量_111 + 匿名局部变量_1)))
匿名局部变量_5 = 取数据摘要 (到字节集 (APIKey + 匿名局部变量_3 + 匿名局部变量_4))
匿名局部变量_6 = “image=” + 编码_URL编码_快速 (编码_BASE64编码A (picture), 真)
匿名局部变量_7 = “X-CurTime:” + 匿名局部变量_3 + #换行符 + “X-Param:” + 匿名局部变量_4 + #换行符 + “X-Appid:” + Appid + #换行符 + “X-CheckSum:” + 匿名局部变量_5 + #换行符 + “Content-Type:application/x-www-form-urlencoded; charset=utf-8”
匿名局部变量_8 = 编码_URL解码_快速 (网页_访问S (匿名局部变量_2, 1, 匿名局部变量_6, , , 匿名局部变量_7, , , , , , , , , , , , , , , ), 真, 真)
返回 (文本处理_讯飞 (匿名局部变量_8, coordinate))


.子程序 文本处理_讯飞, 文本型
.参数 匿名参数_1, 文本型
.参数 匿名参数_2, 逻辑型
.局部变量 匿名局部变量_1, 文本型, , "0"
.局部变量 匿名局部变量_2, 整数型
.局部变量 匿名局部变量_3, 文本型

匿名局部变量_1 = 分割文本 (匿名参数_1, “{” + #引号 + “confi”, )

.计次循环首 (取数组成员数 (匿名局部变量_1), 匿名局部变量_2)
    .如果真 (寻找文本 (匿名局部变量_1 [匿名局部变量_2], “content”, , 假) > 0)
        匿名局部变量_3 = 匿名局部变量_3 + 正则_讯飞 (匿名局部变量_1 [匿名局部变量_2], 匿名参数_2) + #换行符
    .如果真结束

.计次循环尾 ()
返回 (匿名局部变量_3)


.子程序 正则_讯飞, 文本型
.参数 匿名参数_1, 文本型
.参数 匿名参数_2, 逻辑型
.局部变量 匿名局部变量_1, 正则表达式类
.局部变量 匿名局部变量_2, 整数型
.局部变量 匿名局部变量_3, 整数型
.局部变量 匿名局部变量_4, 文本型
.局部变量 匿名局部变量_5, 整数型
.局部变量 匿名局部变量_6, 文本型
.局部变量 匿名局部变量_7, 文本型
.局部变量 匿名局部变量_8, 文本型
.局部变量 匿名局部变量_9, 文本型
.局部变量 匿名局部变量_10, 整数型

匿名局部变量_10 = 1
.如果 (匿名参数_2)
    匿名局部变量_5 = 文本_取出现次数 (匿名参数_1, “location”, 真)
    .如果真 (匿名局部变量_5 ≥ 2)
        匿名局部变量_5 = 匿名局部变量_5 - 1
    .如果真结束
    .计次循环首 (匿名局部变量_5, )
        匿名局部变量_4 = 匿名局部变量_4 + “[\S\s]*?t” + #引号 + “:{(.*?)},[\S\s]*?m” + #引号 + “:{(.*?)}},[\S\s]*?t” + #引号 + “:” + #引号 + “(.*?)” + #引号 + “}”
    .计次循环尾 ()
    .如果真 (匿名局部变量_1.创建 (“dence” + #引号 + “:” + 匿名局部变量_4, 匿名参数_1, 假, 假, 真, 真) = 假)
        返回 (匿名局部变量_6)
    .如果真结束
    匿名局部变量_2 = 匿名局部变量_1.取匹配数量 ()
    .如果真 (匿名局部变量_2 = 0)
        返回 (匿名局部变量_6)
    .如果真结束
    .计次循环首 (匿名局部变量_5 × 3, 匿名局部变量_3)
        .如果真 (匿名局部变量_3 - 3 × (匿名局部变量_10 - 1) = 1)
            匿名局部变量_7 = 文本_替换 (匿名局部变量_1.取子匹配文本 (1, 匿名局部变量_3, ), , , , #引号, “”, “x”, “”, “y”, “”, “:”, “”, , )
        .如果真结束
        .如果真 (匿名局部变量_3 - 3 × (匿名局部变量_10 - 1) = 2)
            匿名局部变量_8 = 文本_替换 (匿名局部变量_1.取子匹配文本 (1, 匿名局部变量_3, ), , , , #引号, “”, “x”, “”, “y”, “”, “:”, “”, , )
        .如果真结束
        .如果真 (匿名局部变量_3 - 3 × (匿名局部变量_10 - 1) = 3)
            匿名局部变量_9 = 文本_替换 (匿名局部变量_1.取子匹配文本 (1, 匿名局部变量_3, ), , , , #引号, “”, , , , , , , , ) + “ ”
            .如果 (匿名局部变量_3 = 匿名局部变量_5 × 3)
                匿名局部变量_6 = 匿名局部变量_6 + 匿名局部变量_9 + “(” + 匿名局部变量_7 + “,” + 匿名局部变量_8 + “)”
            .否则
                匿名局部变量_6 = 匿名局部变量_6 + 匿名局部变量_9 + “(” + 匿名局部变量_7 + “,” + 匿名局部变量_8 + “) --- ”
            .如果结束

            匿名局部变量_10 = 匿名局部变量_10 + 1
        .如果真结束

    .计次循环尾 ()

.否则

    .如果真 (匿名局部变量_1.创建 (“content#引号:#引号(.*?)#引号}”, 匿名参数_1, 假, 假, 真, 真) = 假)
        返回 (匿名局部变量_6)
    .如果真结束
    匿名局部变量_2 = 匿名局部变量_1.取匹配数量 ()
    .如果真 (匿名局部变量_2 = 0)
        返回 (匿名局部变量_6)
    .如果真结束
    .计次循环首 (匿名局部变量_2, 匿名局部变量_3)
        '
        .如果 (匿名局部变量_3 = 匿名局部变量_2)
            匿名局部变量_6 = 匿名局部变量_6 + 匿名局部变量_1.取子匹配文本 (匿名局部变量_3, 1, )
        .否则
            匿名局部变量_6 = 匿名局部变量_6 + 匿名局部变量_1.取子匹配文本 (匿名局部变量_3, 1, ) + “ --- ”
        .如果结束

    .计次循环尾 ()

.如果结束




返回 (匿名局部变量_6)

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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