Remove synthetic training path and add fine-text OCR option
This commit is contained in:
+9
-2
@@ -3,7 +3,7 @@
|
||||
const $ = id => document.getElementById(id);
|
||||
const input = $("image-file"), original = $("original"), cornersCanvas = $("corners");
|
||||
const processed = $("processed"), evidenceCanvas = $("evidence");
|
||||
const run = $("run"), status = $("status"), rotation = $("rotation");
|
||||
const run = $("run"), status = $("status"), rotation = $("rotation"), finePrint = $("fine-print");
|
||||
const initialCorners = () => [[0, 0], [1, 0], [1, 1], [0, 1]];
|
||||
let corners = initialCorners(), edited = false, busy = false, ready = false;
|
||||
let objectUrl = null, drag = null, result = null, selectedEvidence = null;
|
||||
@@ -36,6 +36,7 @@ function updateControls() {
|
||||
input.disabled = busy;
|
||||
$("reset-corners").disabled = !ready || busy;
|
||||
rotation.disabled = busy;
|
||||
finePrint.disabled = busy;
|
||||
run.disabled = busy || !validCorners();
|
||||
}
|
||||
function drawCorners() {
|
||||
@@ -92,6 +93,10 @@ $("reset-corners").addEventListener("click", () => {
|
||||
rotation.addEventListener("change", () => {
|
||||
result = null;$("comparison").hidden = true;setStatus("Leserichtung geändert. Bitte erneut vergleichen.");
|
||||
});
|
||||
finePrint.addEventListener("change", () => {
|
||||
result = null;$("comparison").hidden = true;
|
||||
setStatus("OCR-Detailgrad geändert. Bitte erneut vergleichen.");
|
||||
});
|
||||
input.addEventListener("change", () => {
|
||||
if (objectUrl) URL.revokeObjectURL(objectUrl);
|
||||
objectUrl = null; ready = false; edited = false; corners = initialCorners();
|
||||
@@ -123,6 +128,7 @@ const errorText = {
|
||||
image_too_large: "Die Auflösung überschreitet 24 Megapixel oder 10.000 Pixel pro Seite.",
|
||||
invalid_corners: "Die vier Ecken bilden kein gültiges Dokumentviereck.",
|
||||
invalid_rotation: "Die gewählte Drehung ist ungültig.",
|
||||
invalid_detail: "Der OCR-Detailgrad ist ungültig.",
|
||||
classic_timeout: "Die klassische OCR hat das Zeitlimit überschritten.",
|
||||
classic_models_missing: "Die lokalen OCR-Modelle fehlen. Zuerst die Modell-Einrichtung aus der README ausführen.",
|
||||
classic_failed: "Die klassische OCR ist lokal fehlgeschlagen.",
|
||||
@@ -302,7 +308,8 @@ run.addEventListener("click", async () => {
|
||||
const geometry = {rotation:Number(rotation.value)};
|
||||
if (edited) geometry.corners = corners;
|
||||
const response = await fetch("/api/compare", {method:"POST",body:file,
|
||||
headers:{"Content-Type":mime,"X-OCR-Geometry":JSON.stringify(geometry)},cache:"no-store"});
|
||||
headers:{"Content-Type":mime,"X-OCR-Geometry":JSON.stringify(geometry),
|
||||
"X-OCR-Detail":finePrint.checked ? "fine" : "standard"},cache:"no-store"});
|
||||
const data = await response.json();
|
||||
if (!response.ok) {setStatus(errorText[data.error] || `Vergleich fehlgeschlagen (${response.status}).`,"error");return;}
|
||||
result = data;processed.src = data.image;
|
||||
|
||||
Reference in New Issue
Block a user