展开本页目录
开始前准备什么
- Python环境与本地CPU;Indra使用ONNX,不需要PyTorch或GPU,首次运行需下载约76MB默认模型,math模型另计。
- 代码Apache2.0;权重modified OpenRAIL-M,有企业规模与竞争用途限制,不能宣传无限制免费商用。
- 本课原生材料可离线免费检查;目标识别未执行,实际page.source/conf/坐标只能运行后填写。
- 读取作者样图
- 检查读取失败
- 转为灰度
- 检查uint8范围
- 调用内存接口
- 比较错误输入
- 交付数组契约
1. 读取作者样图
用OpenCV读三行材料标签,记录原始shape和dtype。
cv2.imread默认BGR,不当作已经是灰度输入。
2. 检查读取失败
图片不存在时拦截None,给出路径和格式错误。
不要对None继续cvtColor再只报告模型崩溃。
3. 转为灰度
按官方示例用cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)。
确认输出为二维,不保留多余RGB通道。
官方界面与功能位置
以下为官方文档配图,具体版本与账号入口以当前产品为准。本课练习输入与验收对照见相邻步骤。
4. 检查uint8范围
保证数组dtype=uint8、值在0到255。
0到1浮点图要正确缩放再转换,直接astype会接近全黑。
5. 调用内存接口
用已加载conv.ocr(gray),保留原输入摘要和实际Page。
不要为测试改用托管付费API。
6. 比较错误输入
只在本地检查器验证BGR三维与浮点错缩放的负例。
无需把错误图大量送模型,先在输入层拦截。
7. 交付数组契约
保存源图、灰度图和shape/dtype/min/max台账。
识别文本未运行就保持空白,不用参考行填充输出。
下载本课材料并开始操作
练习包包含本课的具体输入、可编辑数据、正反样例与七步说明。index.html 可离线查看原件和验收参考,actual-results.csv 用于记录你实际操作后的结果。
怎样确认已经完成
- conv.ocr输入为二维uint8。
- 读取失败在转换前拦截。
- 浮点转uint8前正确缩放。
常见问题
Indra支持numpy,RGB数组直接传行不行?
官方内存接口示例要求灰度uint8数组。本课先按BGR2GRAY转换,再检查二维shape与数值范围,避免依赖未说明的隐式转换。
我的图从0到1转uint8后全黑了怎么办?
直接astype会把大部分值压到0。应按图像原始范围正确缩放到0到255再转换,并检查min/max,不能把输入错误归为OCR效果差。




