准备 - 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 模型下载说明
53 lines
1.7 KiB
Rust
53 lines
1.7 KiB
Rust
//! 滑块匹配集成测试。
|
|
|
|
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);
|
|
}
|