doc-quad 0.1.1

A high-performance document detection library in pure Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ARCHITECTURE.md


# DocQuad 架构说明


## 1. 内存模型 (Zero-Copy)

利用 `ndarray::ArrayView2` 配合 `row_stride` 直接映射外部内存。
偏移公式: `index = y * stride + x`

## 2. 算法流水线

1. **Edge**: `fast-canny` (SIMD) -> 产生单通道 U8 二值图。
2. **Topology**: Suzuki-Abe 拓扑追踪 -> 提取 `Vec<Coord<f32>>`3. **Geometry**: Douglas-Peucker 简化 -> 筛选 `Polygon` -> 锁定 4 顶点。
4. **Transform**: `glam` 排序与投影矩阵计算。

## 3. 性能约束

- 1080p 帧处理目标: < 15ms (典型设备)。
- 内存分配: 仅在 Canny 输出和轮廓点集阶段发生堆分配,核心路径重用 Buffer。