feat: ddddocr-rs 完成 core/ort/tract2 规范整改与发布
准备 - core:内置官方字符集(OLD/BETA)与 ModelMetadata::from_builtin_* 构造器 - ort:导出 Session、实现 Info、修正 cuda feature 接线、共享推理工具 - tract2:包名更名(原 ddddocr-tract 已被占用)并完成规范整改 - 集成测试按领域拆分(ocr / det / slide / common / api_surface) - 发布准备:Cargo.toml 元数据、workspace 版本 0.2.4、LICENSE/ NOTICE、README 模型下载说明
This commit is contained in:
33
ddddocr-ort/tests/det.rs
Normal file
33
ddddocr-ort/tests/det.rs
Normal file
@@ -0,0 +1,33 @@
|
||||
//! 目标检测集成测试。
|
||||
|
||||
mod common;
|
||||
|
||||
use common::{model_path, sample_path};
|
||||
use ddddocr_core::Detector;
|
||||
use ddddocr_core::traits::Loader;
|
||||
use ddddocr_ort::DetRuntime;
|
||||
use ddddocr_ort::loader::ModelLoader;
|
||||
use image::GenericImageView;
|
||||
|
||||
/// 检测模型应能从样例图片中找到至少一个目标,且坐标在图片范围内。
|
||||
#[test]
|
||||
fn det_model_detects_targets_in_image() -> anyhow::Result<()> {
|
||||
let session = ModelLoader::default()
|
||||
.build_for_path(model_path("common_det.onnx"))
|
||||
.expect("模型加载失败");
|
||||
let det = DetRuntime::new(session);
|
||||
let img = image::open(sample_path("det1.png")).expect("测试图片不存在");
|
||||
|
||||
let bboxes = Detector::new(&det).predict(&img)?;
|
||||
assert!(!bboxes.is_empty(), "应检测到至少一个目标");
|
||||
|
||||
let (width, height) = img.dimensions();
|
||||
for bbox in &bboxes {
|
||||
assert!(bbox.x1 >= 0 && bbox.y1 >= 0, "检测框左上角不应为负");
|
||||
assert!(
|
||||
bbox.x2 <= width as i32 && bbox.y2 <= height as i32,
|
||||
"检测框右下角不应超出图片范围"
|
||||
);
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user