|
1060| 73
|
[其它源码] 【首发】QSCV+QSOCR+QSNCNN 3支持库 (vc6精编) |
OCR 文字识别 —
|
| 类别 | 代表命令(中文名 / 英文对照) |
|---|---|
| 小图管理 | 加载小图目录 (LoadSmallDir) · 加载小图Zip (LoadSmallZip) · 清空小图 (ClearSmall) |
| 找图 | 找图 (Find) · 找图一次 (FindOnce) · 找图多个 (FindEx) · 比较图片 (CmpPic) · 定点比图 (CmpPicAt) |
| 高级匹配 | 找图透明 (FindTransparent) · 找图Alpha (FindAlpha) · 找图边缘 (FindEdge) · 找图旋转角度 (FindRotateAngle) · 找图缩放中心 (FindScaleCenter) |
| 找色 | 找色 (FindColor) · 找色多个 (FindColorEx) · 多点找色 (FindMultiColor) · 找色块 (FindColorBlock) · 统计颜色数 (FindColorCount) · 取颜色 (GetColor) · 比颜色 (CmpColor) |
全系列尾参支持 ROI 区域限定(留空 = 全图),只在指定区域内搜索,更快更准。
找图/找色/色块均有..多个数组版,一次调用返回全部命中位置,不用循环排除再找。
发布包按推理后端分两个目录,各只含两个文件:
dist/
├─ cpu/ QSOCR.fne QSOCR_static.lib ← 纯 CPU,零额外依赖
└─ dml/ QSOCR.fne QSOCR_static.lib ← DirectML GPU 加速
lib\*.fne)。QSOCR.fne 拷到易语言安装目录的 lib\ 下。QS匹配器 (QSMatcher) / QSPaddleOCR 等类与命令。QSOCR_static.lib 拷到易语言安装目录的 static_lib\ 下。下面是调用流程示意(伪代码,展示命令与对象用法)。代码里直接用易语言显示的中文命令名(这就是 IDE 里实际书写的样子)。可运行的完整范例见
QSOCR示例.e。
例 1:读图 → 转灰 → 二值化 → 保存
.局部变量 图, QSMat
图.加载文件 ("C:\test.png") ' 从文件载入
图.颜色格式转换 (#QS_COLOR_BGR2GRAY) ' 转灰度
图.二值化 (127, 255, #QS_THRESH_BINARY)
图.保存文件 ("C:\out.png")
例 2:找色
.局部变量 屏, QSMat
.局部变量 匹配器, QS匹配器
.局部变量 结果, QS匹配结果
屏.加载文件 ("screen.png")
' 颜色也可写 "ff0000-101010" 偏色范围格式; 命中返回坐标
结果 = 匹配器.找色 (屏, "ff0000", 0.9)
.如果真 (结果.x ≥ 0) ' 未找到时 x 为 -1
调试输出 (结果.x, 结果.y)
.如果真结束
例 3:多行 OCR
.局部变量 行数组, QS单行识别信息, , "0"
行数组 = 引擎.识别多行 (图)
.计次循环首 (取数组成员数 (行数组), i)
调试输出 (行数组[i].文本 (), 行数组[i].置信度 ())
.计次循环尾 ()
| CPU 版 | DML 版 | |
|---|---|---|
| 推理后端 | CPU | DirectML (DirectX 12 GPU) |
| 额外依赖 | 无 | 需要支持 DX12 的显卡 / 驱动 |
| 适用 | 兼容性优先、无独显机器 | OCR / 检测吞吐量大、有显卡加速需求 |
两个变体的影像处理 (OpenCV) 部分完全一致,差异只在 OCR / 分类 / 检测 / 验证码的 ONNX 推理后端。库 GUID 相同,可直接替换切换。
假 / 空),不中断流程。命令在易语言中以中文名显示;下表为
中文命令名 (英文对照名)+ 功能。序号共 260 条(含少量内部保留),此处按类/领域列出主要命令。
QSMat — 影像矩阵(核心类)
| 命令(中文名 / 英文对照) | 功能 |
|---|---|
加载文件 (LoadFile) / 加载字节集 (LoadBytes) |
从文件 / 字节集载入图像 |
保存文件 (SaveFile) |
保存到文件 |
复制 (Clone) / 新建图像 (NewMat) |
克隆 / 新建图像 |
高度 (Rows) 宽度 (Cols) 通道数 (Channels) 类型 (Type) 位深 (Depth) 维数 (Dims) 是否为空 (Empty) |
行/列/通道/类型/深度/维数/是否为空 |
取像素 (At) / 置像素 (SetAt) / 置像素点 (SetAtScalar) |
读 / 写单像素 (COLORREF) |
取像素数据 (RawData) / 置像素数据 (SetRawData) |
一次性整图像素读 / 写 |
取图片数据 (Data) / 显示图片 (Show) |
编码为字节集 / 弹窗显示 |
重置大小 (Resize) 旋转图像 (Rotate) 翻转 (Flip) 转置 (Transpose) 仿射变换 (WarpAffine) |
缩放/旋转/翻转/转置/仿射变换 |
裁剪矩形 (CropRect) 画圆形 (CropCircle) 加边框 (CopyMakeBorder) 提取通道 (ExtractChannel) |
矩形/圆形裁剪、加边框、提取通道 |
金字塔缩小 (PyrDown) / 金字塔放大 (PyrUp) |
图像金字塔下/上采样 |
颜色格式转换 (CvtColor) 二值化 (Threshold) 自适应阈值 (AdaptiveThreshold) 边缘检测canny (Canny) 形态学 (MorphologyEx) |
色彩转换/二值化/自适应阈值/边缘/形态学 |
颜色范围 (InRange) 非 (BitwiseNot) |
颜色范围筛选 / 取反 |
高斯模糊 (GaussianBlur) 中值模糊 (MedianBlur) 均值模糊 (Blur) 双边滤波 (BilateralFilter) |
高斯/中值/均值/双边模糊 |
缩放转8位 (ConvertScaleAbs) 直方图均衡 (EqualizeHist) 限制对比均衡 (Clahe) 归一化 (Normalize) 查表映射 (LUT) 类型转换 (ConvertTo) |
缩放取绝对值/直方图均衡/CLAHE/归一化/查表/类型转换 |
按位与 (BitwiseAnd) 按位或 (BitwiseOr) 按位异或 (BitwiseXor) 绝对差 (AbsDiff) 加权融合 (AddWeighted) |
按位与/或/异或、绝对差、加权融合 |
画矩形 (DrawRect) 画线 (DrawLine) 画椭圆 (DrawEllipse) 画箭头 (ArrowedLine) 绘制文本 (PutText) 漫水填充 (FloodFill) |
画矩形/线/椭圆/箭头、写文字(GDI 中文)、漫水填充 |
去透明为白 (AlphaToBlack) 纯黑转透明 (BlackToAlpha) 复制到 (CopyTo) 合成图像 (MergeIM) 填充 (SetTo) |
Alpha 与黑底互转、ROI 拷贝、图像合成、整体赋值 |
模板匹配极值 (MatchTemplateMax) |
模板匹配并取最佳位置 |
查找轮廓 (FindContours) / 绘制轮廓 (DrawContours) |
查找 / 绘制轮廓 |
非零数 (CountNonZero) 像素和 (Sum) 平均值 (Mean) 均值标准差 (MeanStdDev) 极值定位 (MinMaxLoc) |
非零计数/求和/均值/均值标准差/极值定位 |
QS轮廓集 — 轮廓集合
| 命令(中文名 / 英文对照) | 功能 |
|---|---|
数量 (Length) |
轮廓条数 |
外接矩形 (BoundingRect) |
某条轮廓的外接矩形 |
取全部外接矩形 (GetAllRects) |
一次取回全部轮廓的外接矩形数组 |
是否存在 (ElementExists) |
指定轮廓是否存在 |
子点数 (SubLength) / 子元素 (SubElement) |
某条轮廓的点数 / 取其中一个点 |
取轮廓全部点 (GetContourPoints) |
一次取回指定轮廓的全部点数组 |
OCR — QSPaddleOCR / QS训练识别模型 / QS单行识别信息 / QS文本行
| 命令(中文名 / 英文对照) | 功能 |
|---|---|
创建 (Create) |
创建 PaddleOCR 引擎(文件/内存模型) |
识别单行 (DetectLine) |
识别单行,返回 QS文本行 (QSTextLine) |
识别多行 (DetectLines) |
识别多行,返回 QS单行识别信息 (QSOcrInfo) 数组 |
识别多行找字 (FindText) |
按文本查找并返回点击坐标 (QS找字结果 数组);多目标 \| 隔开 |
文本 (Text) 字符数 (CharCount) 字符文本 (CharText) 字符置信度 (CharScore) 字符位置 (CharPosition) |
单行:整行文本/字数/单字文本/单字置信度/单字位置 |
文本 (GetText) 矩形 (GetRect) 置信度 (GetScore) |
多行元素:文本/矩形/置信度 |
字符数 (GetCharCount) 字符文本 (GetCharText) 字符置信度 (GetCharScore) 字符位置 (GetCharPosition) |
多行元素:逐字 文本/置信度/位置 |
取全部单字信息 (GetAllCharInfo) |
一次取回全部单字置信度与中心坐标,返回 QS单字信息 数组 |
取全部单字文本 (GetAllCharText) |
一次取回全部单字文本,返回文本数组 |
创建 (Create) 设置分类 (SetClass) |
通用 ONNX OCR 模型:创建 / 设置字符集 |
识别文本 (PredictText) 识别文本CTC (PredictTextCTC) 识别分类 (PredictCls) |
文本识别 / CTC 识别 / 分类 |
识别滑块 (PredictSlider) 识别旋转 (PredictRotate) |
滑块缺口 / 旋转角度预测 |
QS目标检测 — YOLO 目标检测
| 命令(中文名 / 英文对照) | 功能 |
|---|---|
创建 (Create) |
加载 YOLO 模型 |
检测 (Detect) / 检测BGR24 (DetectBGR24) |
检测目标,返回 QS检测框 (QSDetectBox) 数组 |
释放 (Release) |
释放模型 |
验证码 — QSDddd自训练 / QSDddd识别
| 命令(中文名 / 英文对照) | 功能 |
|---|---|
创建 (Create) 载入配置 (LoadConfig) 识别 (Predict) |
dddd 训练模型:创建 / 载配置 / 预测 |
创建 (Create) 设置类表 (SetClass) 识别 (Predict) |
dddd 分类模型:创建 / 设字符集 / 预测 |
QS匹配器 — 模板匹配 / 找图找色
| 命令(中文名 / 英文对照) | 功能 |
|---|---|
加载小图 (LoadSmall) 加载小图目录 (LoadSmallDir) 加载小图Zip (LoadSmallZip) |
加载小图(单张 / 目录 / zip) |
取小图尺寸 (GetPicSize) 取小图数量 (GetSmallCount) 清空小图 (ClearSmall) |
取小图尺寸 / 小图数量 / 清空缓存 |
找图 (Find) 找图一次 (FindOnce) 找图多个 (FindEx) |
多模板找图 / 找一个 / 返回全部命中数组 |
比较图片 (CmpPic) 定点比图 (CmpPicAt) |
比图 / 指定位置比图 |
找图透明 (FindTransparent) 找图透明多个 (FindTransparentEx) |
指定透明色掩码匹配 / 数组版 |
找图Alpha (FindAlpha) 找图Alpha多个 (FindAlphaEx) |
小图 alpha 通道掩码匹配 / 数组版 |
找图边缘 (FindEdge) 找图边缘多个 (FindEdgeEx) |
Canny 边缘匹配 / 数组版 |
找图旋转角度 (FindRotateAngle) 找图旋转ORB (FindRotateOrb) |
旋转匹配(角度 / ORB 特征) |
找图缩放中心 (FindScaleCenter) 找图缩放ORB (FindScaleOrb) |
缩放匹配(中心 / ORB 特征) |
找色 (FindColor) 找色多个 (FindColorEx) |
找色 / 返回全部命中数组 |
找色块 (FindColorBlock) 找色块多个 (FindColorBlockEx) 多点找色 (FindMultiColor) |
找色块 / 数组版 / 多点找色 |
统计颜色数 (FindColorCount) 取颜色 (GetColor) 比颜色 (CmpColor) |
颜色计数 / 取色 / 比色 |
RGB二值化 (RgbBinarize) |
RGB 二值化 |
以上找图/找色命令尾参均支持 ROI 区域限定(留空 = 全图)。
全局命令 — 窗口 / 底层 CV / 值类型构造
全局命令在易语言中均带
QS_前缀显示。
| 命令(中文名 / 英文对照) | 功能 |
|---|---|
QS_创建窗口 (NamedWindow) QS_调窗大小 (ResizeWindow) QS_移动窗口 (MoveWindow) |
窗口:创建 / 缩放 / 移动 |
QS_显示图片 (Imshow) QS_等待按键 (WaitKey) QS_销毁窗口 (DestroyWindow) QS_销毁所有窗口 (DestroyAllWindows) |
显示 / 等待按键 / 销毁窗口 |
QS_加载图片 (Imread) QS_色彩转换 (CvtColor) QS_模板匹配 (MatchTemplate) QS_归一化 (Normalize) QS_极值定位 (MinMaxLoc) QS_图像拼接 (ConcatImages) |
底层 OpenCV:读图/转色/模板匹配/归一化/极值/拼图 |
QS_造大小 (MakeSize) QS_造矩形 (MakeRect) QS_造标量 (MakeScalar) |
构造值类型:大小 / 矩形 / 标量 |
QS_造点2i (MakePoint2i) ..2l ..2f ..2d |
构造点(整数/长整数/单精度/双精度) |
QS_造匹配结果 (MakeMatchResult) QS_造匹配扩展结果 (MakeMatchExResult) |
构造匹配结果值类型 |
QS_取时间戳 (GetTimestamp) QS_取时间戳文本 (GetTimestampText) |
Unix 时间戳(秒/毫秒/纳秒),整数 / 文本 |
QSMat QS轮廓集 (QSContours) QS文本行 (QSTextLine) QSPaddleOCR QS训练识别模型 (QSTrainer) QS单行识别信息 (QSOcrInfo) QS图像分类 (QSImageClassifier) QS目标检测 (QSYOLO) QSDddd自训练 (QSDdddTrain) QSDddd识别 (QSDdddOCR) QS匹配器 (QSMatcher)QSSize QSRect QSScalar QSPoint2i/2l/2f/2d QS检测框 (QSDetectBox) QS分类结果 (QSClassifyResult) QS匹配结果 (QSMatchResult) QS匹配扩展结果 (QSMatchExResult) QS单字信息 (QSCharInfo) QS找字结果 (QSFindHit)QSOCR · 易语言支持库 · OpenCV 5.0 / ONNX Runtime 1.2* · 32 位 /MT
| 参与人数 12 | 好评 +6 | 精币 +16 | 收起 理由 |
|---|---|---|---|
|
| + 1 | 感谢分享,很给力!~ | |
|
| + 1 | 感谢分享,很给力!~ | |
|
| + 1 | + 3 | 大神,请收下我的膝盖 |
|
| + 1 | 感谢分享,很给力!~ | |
|
| + 1 | + 2 | 感谢分享,很给力!~群里成员前来支持 |
|
| + 1 | 感谢分享,很给力!~ | |
|
| + 1 | 感谢分享,很给力!~ | |
|
| + 1 | 感谢分享,很给力!~ | |
|
| + 1 | 感谢分享,很给力!~ | |
|
| + 1 | + 1 | 支持开源~!感谢分享 |
|
| + 1 | + 2 | 虽然我在老大群里 可以先体验到 但我跟帖 支持一下 |
|
| + 1 | + 2 | 大神,请收下我的膝盖 |
sitemap|
易语言源码|
易语言教程|
易语言论坛|
易语言模块|
手机版|
广告投放|
精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司
( 粤ICP备2025452707号)
粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173