feat(core): 公开颜色过滤与字符集限制扩展 API 并修复宏路径
This commit is contained in:
@@ -9,7 +9,8 @@ use crate::traits::DetEngine;
|
||||
pub struct DetBuilder;
|
||||
|
||||
impl DetBuilder {
|
||||
fn build_with<E: DetEngine>(self, runtime: &E) -> Detector<'_> {
|
||||
/// 绑定检测引擎会话并构建 Detector。
|
||||
pub fn build_with<E: DetEngine>(self, runtime: &E) -> Detector<'_> {
|
||||
Detector { runtime }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,9 @@ use crate::error::{Result, TensorError};
|
||||
use image::{DynamicImage, GenericImageView, imageops::FilterType};
|
||||
use ndarray::{Array2, Array3, Array4, Axis, prelude::*, s};
|
||||
use std::fmt;
|
||||
// use tract_onnx::prelude::{Tensor};
|
||||
|
||||
// use ddddocr_tract::det::session::DetSession;
|
||||
use crate::{DetBuilder, DetOutput, OcrBuilder};
|
||||
use crate::traits::DetEngine;
|
||||
use crate::{DetBuilder, DetOutput};
|
||||
|
||||
/// 目标检测结果:原图像素坐标系下的边界框、置信度与类别 ID。
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
|
||||
@@ -11,15 +11,19 @@ mod det;
|
||||
pub mod error;
|
||||
mod ocr;
|
||||
mod slide;
|
||||
/// 图像加载、转换与处理工具。
|
||||
pub mod utils;
|
||||
/// 模型输入输出信息等共享类型。
|
||||
pub mod types;
|
||||
/// 推理引擎统一抽象接口。
|
||||
pub mod traits;
|
||||
/// 模型输入输出信息等共享类型。
|
||||
pub mod types;
|
||||
/// 图像加载、转换与处理工具。
|
||||
pub mod utils;
|
||||
|
||||
pub use crate::det::{DetBuilder, DetectionResult, Detector};
|
||||
pub use crate::ocr::{Charset, ModelMetadata, Normalization, Ocr, OcrBuilder, OcrResult, Resize};
|
||||
pub use crate::ocr::{
|
||||
CharRestrict, Charset, ColorFilter, ColorPreset, HsvRange, IdRestrict, ModelMetadata,
|
||||
MultiOrColorRestrict, MultiOrRestrict, Normalization, Ocr, OcrBuilder, OcrResult, PixelCtx,
|
||||
Resize, TokenFilter, ValidationCtx,
|
||||
};
|
||||
pub use crate::slide::{SlideResult, Slider};
|
||||
|
||||
/// OCR 模型的统一输出枚举,由推理引擎产出,供 [`Ocr`] 后处理。
|
||||
@@ -32,4 +36,3 @@ pub enum OcrOutput {
|
||||
pub enum DetOutput {
|
||||
Detection(ndarray::Array3<f32>),
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ mod token_filter;
|
||||
|
||||
pub use builder::OcrBuilder;
|
||||
pub use charset::Charset;
|
||||
pub use color_filter::{ColorFilter, ColorPreset, HsvRange, MultiOrColorRestrict, PixelCtx};
|
||||
pub use executor::{Ocr, OcrResult};
|
||||
pub use metadata::{ModelMetadata, Normalization, Resize};
|
||||
pub use token_filter::TokenFilter;
|
||||
pub use token_filter::{CharRestrict, IdRestrict, MultiOrRestrict, TokenFilter, ValidationCtx};
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
//! OCR 构建器。
|
||||
|
||||
use crate::ocr::executor::Ocr;
|
||||
// use ddddocr_tract::session::OcrSession;
|
||||
use crate::traits::OcrEngine;
|
||||
use crate::ocr::color_filter::ColorFilter;
|
||||
use crate::ocr::executor::Ocr;
|
||||
use crate::ocr::token_filter::TokenFilter;
|
||||
use crate::traits::OcrEngine;
|
||||
|
||||
/// OCR 构建器:配置识别选项后绑定引擎会话构建 [`crate::Ocr`]。
|
||||
#[derive(Default)]
|
||||
|
||||
@@ -308,7 +308,8 @@ impl<'a> Ocr<'a> {
|
||||
}
|
||||
}
|
||||
impl<'a> Ocr<'a> {
|
||||
fn is_valid_indices(&self, idx: usize) -> bool {
|
||||
/// 判断索引是否为当前限制下的有效字符索引。
|
||||
pub fn is_valid_indices(&self, idx: usize) -> bool {
|
||||
if idx >= self.runtime.metadata().charset.size() {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user