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:
52
ddddocr-tract2/tests/slide.rs
Normal file
52
ddddocr-tract2/tests/slide.rs
Normal file
@@ -0,0 +1,52 @@
|
||||
//! 滑块匹配集成测试。
|
||||
|
||||
mod common;
|
||||
|
||||
use common::{load_image, sample_path};
|
||||
use ddddocr_core::Slider;
|
||||
|
||||
/// 边缘模式匹配应定位到预期坐标。
|
||||
#[test]
|
||||
fn slide_match_locates_target_position() {
|
||||
let engine = Slider::new();
|
||||
let target = load_image(sample_path("target1.png")).expect("请确保 samples/target1.png 存在");
|
||||
let background = load_image(sample_path("background1.png")).expect("请确保 samples/background1.png 存在");
|
||||
|
||||
let start = std::time::Instant::now();
|
||||
let result = engine
|
||||
.slide_match(&target, &background, false)
|
||||
.expect("Slide match 执行失败");
|
||||
let elapsed = start.elapsed();
|
||||
|
||||
println!("边缘模式匹配: {result}");
|
||||
println!("耗时: {elapsed:?}");
|
||||
|
||||
assert_eq!(result.target_x, 237);
|
||||
assert_eq!(result.target_y, 77);
|
||||
assert!(result.confidence > 0.0);
|
||||
}
|
||||
|
||||
/// 灰度对比匹配应定位到预期坐标。
|
||||
#[test]
|
||||
fn slide_comparison_locates_target_position() {
|
||||
let engine = Slider::new();
|
||||
let target = load_image(sample_path("target2.jpg")).expect("请确保 samples/target2.jpg 存在");
|
||||
let background =
|
||||
load_image(sample_path("background2.jpg")).expect("请确保 samples/background2.jpg 存在");
|
||||
|
||||
let start = std::time::Instant::now();
|
||||
let result = engine
|
||||
.slide_comparison(&target, &background)
|
||||
.expect("Slide comparison 执行失败");
|
||||
let elapsed = start.elapsed();
|
||||
|
||||
println!(
|
||||
"灰度对比匹配: 坐标 [x: {}, y: {}], 置信度 {:.4}",
|
||||
result.target_x, result.target_y, result.confidence
|
||||
);
|
||||
println!("耗时: {elapsed:?}");
|
||||
|
||||
assert_eq!(result.target_x, 171);
|
||||
assert_eq!(result.target_y, 90);
|
||||
assert!(result.confidence > 0.0);
|
||||
}
|
||||
Reference in New Issue
Block a user