开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 11465|回复: 28
收起左侧

[技术专题] 易语言 OpenCV 简单的文字识别

[复制链接]
结帖率:87% (79/91)
发表于 2022-10-21 19:11:10 | 显示全部楼层 |阅读模式   江苏省苏州市
本帖最后由 z13228604287 于 2022-10-21 19:12 编辑

QQ图片20221021191053.png

  
窗口程序集名保 留  保 留备 注
OCR   
变量名类 型数组备 注
置信阈值小数型  
抑制阈值小数型  
输入宽整数型  
输入高整数型  
模型识别文本型  
探测器网络类  
识别器网络类  
字母表文本型0 

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用
置信阈值 = 0.5
抑制阈值 = 0.4
输入高 = 320
输入宽 = 320
探测器 = 视觉_读取网络 (“C:\Users\hanyo\Desktop\ocr-opencv-dnn-master\trained_model_for_text_recognition\frozen_east_text_detection.pb”, , “”)
子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用

子程序名返回值类型公开备 注
初始化 
参数名类 型参考可空数组备 注
_modelRecognition文本型
_alphabet文本型
变量名类 型静态数组备 注
i整数型 
计次循环首 (取文本长度 (_alphabet), i)
加入成员 (字母表, 取文本中间 (_alphabet, i, 1))
计次循环尾 ()
模型识别 = _modelRecognition
识别器 = 视觉_读取网络 (_modelRecognition, , “”)
子程序名返回值类型公开备 注
识别边框  
参数名类 型参考可空数组备 注
分数多维矩阵类
几何图形多维矩阵类
检测旋转矩形类
置信小数型
变量名类 型静态数组备 注
高度整数型 
整数型 
y整数型 
分数数据小数型指针类 
x0_数据小数型指针类 
x1_数据小数型指针类 
x2_数据小数型指针类 
x3_数据小数型指针类 
角度数据小数型指针类 
x整数型 
得分小数型 
偏移量X小数型 
偏移量Y小数型 
余弦A小数型 
小数型 
正弦A小数型 
抵消点2f类 
p1点2f类 
p3点2f类 
h小数型 
w小数型 
r旋转矩形类 
清除数组 (检测)
判断 (分数.维度 () = 4 几何图形.维度 () = 4 分数.维度元素数 (0) = 1 几何图形.维度元素数 (0) = 1 分数.维度元素数 (1) = 1 几何图形.维度元素数 (1) = 5 分数.维度元素数 (2) = 几何图形.维度元素数 (2) 分数.维度元素数 (3) = 几何图形.维度元素数 (3))
高度 = 分数.维度元素数 (2)
宽 = 分数.维度元素数 (3)
分数数据.指针 = 分数.取元素指针S (0, 0, 26)
变量循环首 (0, 高度 - 1, 1, y)
分数数据.指针 = 分数.取元素指针S (0, 0, y)
x0_数据.指针 = 几何图形.取元素指针S (0, 0, y)
x1_数据.指针 = 几何图形.取元素指针S (0, 1, y)
x2_数据.指针 = 几何图形.取元素指针S (0, 2, y)
x3_数据.指针 = 几何图形.取元素指针S (0, 3, y)
角度数据.指针 = 几何图形.取元素指针S (0, 4, y)
变量循环首 (0, 宽 - 1, 1, x)
得分 = 分数数据. (x)
如果真 (得分 < 置信阈值)
到循环尾 ()
偏移量X = x × 4
偏移量Y = y × 4
角 = 角度数据. (x)
余弦A = 求余弦 ()
正弦A = 求正弦 ()
h = x0_数据. (x) + x2_数据. (x)
w = x1_数据. (x) + x3_数据. (x)
抵消.初始化 (偏移量X + 余弦A × x1_数据. (x) + 正弦A × x2_数据. (x), 偏移量Y - 正弦A × x1_数据. (x) + 余弦A × x2_数据. (x))
p1 = 点2f (-正弦A × h, -余弦A × h). (抵消)
p3 = 点2f (-余弦A × w, 正弦A × w). (抵消)
r.初始化1 (p1. (p3). (0.5), 尺寸2f (w, h), -角 × 180 ÷ #pi )
加入成员 (检测, r)
加入成员 (置信, 得分)
变量循环尾 ()
变量循环尾 ()




子程序名返回值类型公开备 注
检测_REC 
参数名类 型参考可空数组备 注
识别图多维矩阵类
变量名类 型静态数组备 注
输出名称文本型2
输出多维矩阵类0
斑点多维矩阵类 
分数多维矩阵类 
几何图形多维矩阵类 
框框数组旋转矩形类0
信任度数组小数型0
索引数组整数型0
比率点2f类 
i整数型 
框框旋转矩形类 
顶点点2f类0
j整数型 
裁剪多维矩阵类 
斑点裁剪多维矩阵类 
结果多维矩阵类 
已识别字符文本型 
输出名称 [1]“feature_fusion/Conv_7/Sigmoid”
输出名称 [2]“feature_fusion/concat_3”
斑点 = 视觉_图像前景目标 (识别图, 1, 尺寸2i (输入宽, 输入高), 标量 (123.68, 116.78, 103.94), 真, 假, 5)
探测器.设置输入 (斑点, “”, 1, )
探测器.前向计算V (输出, 输出名称)
分数 = 输出 [1]
几何图形 = 输出 [2]
' 解码预测的边界框。
识别边框 (分数, 几何图形, 框框数组, 信任度数组)
视觉_非最大抑制R (框框数组, 信任度数组, 置信阈值, 抑制阈值, 索引数组, 1, 0)
比率.初始化 (识别图.列数 () ÷ 输入宽, 识别图.行数 () ÷ 输入高)
计次循环首 (取数组成员数 (索引数组), i)
框框 = 框框数组 [索引数组 [i] + 1]
顶点 = 框框.顶点 ()
计次循环首 (4, j)
顶点 [j].左边 = 顶点 [j].左边 × 比率.左边
顶点 [j].顶边 = 顶点 [j].顶边 × 比率.顶边
计次循环尾 ()
如果真 (模型识别 ≠ “”)
四点转换 (识别图, 顶点, 裁剪)
视觉_颜色空间转换 (裁剪, 裁剪, #颜色_BGR转GRAY, 0)
斑点裁剪 = 视觉_图像前景目标 (裁剪, 1 ÷ 127.5, , 标量 (127.5, 127.5, 127.5, 127.5), 假, 假, 5)
识别器.设置输入 (斑点裁剪, “”, 1, )
识别器.前向计算 (结果, “”)
识别文本 (结果, 已识别字符)
视觉_放置文本f (识别图, 已识别字符, 顶点 [1], #字体_衬线_简单, 1.5, 标量 (0, 0, 255), 1, 8, )
计次循环首 (4, i)
如果真 (i = 4)
视觉_线f (识别图, 顶点 [1], 顶点 [4], 标量 (0, 255, 0), 2, 8, 0)
跳出循环 ()
视觉_线f (识别图, 顶点 [i], 顶点 [i + 1], 标量 (0, 255, 0), 2, 8, 0)
计次循环尾 ()
计次循环尾 ()
子程序名返回值类型公开备 注
识别文本  
参数名类 型参考可空数组备 注
分数多维矩阵类
文本文本型
变量名类 型静态数组备 注
分数矩阵多维矩阵类 
元素文本型0
行索引整数型 
点2i类 
i整数型 
分数矩阵 = 分数.重塑 (1, 分数.维度元素数 (0))
重定义数组 (元素, 假, 分数.维度元素数 (0))
计次循环首 (分数矩阵.行数 (), 行索引)
视觉_最小最大位置 (分数矩阵. (行索引 - 1), , , , 点, )
判断 (点.左边 > 0 点.左边 < 取数组成员数 (字母表))
元素 [行索引] = 字母表 [点.左边]
元素 [行索引]“-”

计次循环尾 ()
如果真 (取数组成员数 (元素) > 0)
如果真 (元素 [1]“-”)
文本 = 文本 + 元素 [1]

变量循环首 (2, 取数组成员数 (元素), 1, i)
如果真 (元素 [i]“-” 元素 [i] ≠ 元素 [i - 1])
文本 = 文本 + 元素 [i]

变量循环尾 ()
子程序名返回值类型公开备 注
四点转换  
参数名类 型参考可空数组备 注
识别图多维矩阵类
顶点点2f类
结果多维矩阵类
变量名类 型静态数组备 注
输出大小尺寸2i类 
目标顶点点2f类4
旋转矩阵多维矩阵类 
输出大小.初始化 (100, 32)
目标顶点 [1].初始化 (0, 输出大小.高 - 1)
目标顶点 [2].初始化 (0, 0)
目标顶点 [3].初始化 (输出大小.宽 - 1, 0)
目标顶点 [4].初始化 (输出大小.宽 - 1, 输出大小.高 - 1)
旋转矩阵 = 视觉_获取透视变换 (顶点, 目标顶点, 0)
视觉_透视变换 (识别图, 结果, 旋转矩阵, 输出大小, 1, 0, )


i支持库列表   支持库注释   
OpenCV(未知支持库)
  
窗口程序集名保 留  保 留备 注
程序集1   
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
OCROCR 
输入图多维矩阵类 
窗口名称文本型 
OCR.初始化 (“C:\Users\hanyo\Desktop\ocr-opencv-dnn-master\trained_model_for_text_recognition\CRNN_VGG_BiLSTM_CTC.onnx”, “0123456789abcdefghijklmnopqrstuvwxyz”)
输入图 = 视觉_图像读取 (“C:\Users\hanyo\Desktop\ocr-opencv-dnn-master\sign.jpg”, #读图_彩色 )
OCR.检测_REC (输入图)
窗口名称 = 易语言 OpenCV 简单的文字识别”
视觉_创建窗口 (窗口名称, #窗口_标准 )
视觉_显示图像 (窗口名称, 输入图)
视觉_等待按键 (0)
视觉_销毁所有窗口 ()
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
OpenCV(未知支持库)

评分

参与人数 1好评 +1 精币 +1 收起 理由
v1331v + 1 + 1 支持开源~!感谢分享

查看全部评分


发表于 2024-6-21 16:53:03 | 显示全部楼层   广西壮族自治区玉林市
666666666666666
回复 支持 反对

使用道具 举报

发表于 2024-6-19 11:45:19 | 显示全部楼层   陕西省榆林市
ddddddddddddddddddd
回复 支持 0 反对 1

使用道具 举报

发表于 2024-6-19 11:44:40 | 显示全部楼层   陕西省榆林市
ddddddddddddddddddd
回复 支持 反对

使用道具 举报

签到天数: 8 天

发表于 2024-6-13 15:40:35 | 显示全部楼层   湖北省宜昌市
学习学习一下
回复 支持 反对

使用道具 举报

发表于 2024-6-3 13:59:12 | 显示全部楼层   广东省江门市
学习了,求开源
回复 支持 反对

使用道具 举报

签到天数: 3 天

发表于 2024-6-3 10:31:50 | 显示全部楼层   香港特别行政区南区
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2023-7-6 02:38:49 | 显示全部楼层   安徽省合肥市
6666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2023-3-11 00:56:31 | 显示全部楼层   湖北省荆州市

支持开源~!感谢分享
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-3-5 04:25:50 | 显示全部楼层   河北省保定市
感谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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