本帖最后由 z13228604287 于 2022-10-21 19:12 编辑
窗口程序集名 | 保 留 | 保 留 | 备 注 | 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 | 文本型 | | | | 计次循环首 (取文本长度 (_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 )加入成员 (置信, 得分 )变量循环尾 ()变量循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | 输出名称 | 文本型 | | 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, ) 变量名 | 类 型 | 静态 | 数组 | 备 注 | OCR | OCR | | | 输入图 | 多维矩阵类 | | | 窗口名称 | 文本型 | | |
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 )
|