refactor(dewarp): replace displacement map with affine shear correction

The old displacement-map approach shifted entire rows by a parabolic
profile, creating a circle/barrel distortion. The actual problem is
a linear vertical shear: after deskew aligns horizontal lines, the
vertical column edges are still tilted by ~0.5°.

New approach:
- Detect shear angle from strongest vertical edge slope (not curvature)
- Apply cv2.warpAffine shear to straighten vertical features
- Manual slider: -2.0° to +2.0° in 0.05° steps
- Slider initializes to auto-detected shear angle
- Ground truth question: "Spalten vertikal ausgerichtet?"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-02-26 18:23:04 +01:00
parent ff2bb79a91
commit 09b820efbe
5 changed files with 109 additions and 279 deletions

View File

@@ -37,17 +37,16 @@ export interface DeskewGroundTruth {
export interface DewarpResult {
session_id: string
method_used: 'vertical_edge' | 'text_baseline' | 'manual' | 'none'
curvature_px: number
method_used: 'vertical_edge' | 'manual' | 'none'
shear_degrees: number
confidence: number
duration_seconds: number
dewarped_image_url: string
scale_applied?: number
}
export interface DewarpGroundTruth {
is_correct: boolean
corrected_scale?: number
corrected_shear?: number
notes?: string
}