"""Pagina HTML dell'acquisizione camera (servita da camera_service su /calibrazione e /acquisizione, #83 #87). Cosa fa: una pagina sola, autonoma e offline (niente CDN, niente font esterni, JS e CSS inline), in italiano, stile scuro TMF. Quattro sezioni: Sorgente, Anteprima (dal vivo, con nitidezza/saturazione/livello medio), Parametri camera (esposizione e guadagno), Calibrazione a scacchiera. Parla con le rotte dello stesso servizio: /camera/sources, /camera/anteprima, /camera/parametri, /camera/parametri/salva, /camera/calibration, /camera/calibrate. #84: calibrazione densa, un solo dato dell'operatore (lato dello scacco in mm). #87: anteprima, parametri camera, stile TMF. #91: due tab, «Acquisizione» e «Calibrazione», nella stessa pagina; l'anteprima resta visibile in entrambe. Calibrazioni salvate con nome in un archivio unico (/camera/calibrazioni, /camera/calibrazione-attiva); il calcolo non salva piu': si salva dal calcolo_id con un nome. #92: l'immagine da file e' una SORGENTE di acquisizione (POST /camera/immagini), non un'opzione della calibrazione: la calibrazione usa sempre il frame grezzo della sorgente scelta nella tab Acquisizione. Sorgente in cima alla tab; riquadri «Immagine» (grezza) e, con la casella, «Calibrata» (/camera/anteprima/calibrata) affiancati; il ciclo anteprima si sospende mentre la tab Calibrazione e' aperta. #122: i quattro visori sono tmf-viewer; i tre file JS del frontend (vision_overlay, save_image, image_viewer) li serve camera_service su /visore/. Dipende da: i tre file JS su /visore/ (camera_service). E' una stringa, cosi' il pacchetto compilato non ha file dati. """ PAGINA = r""" Acquisizione camera

Acquisizione camera

Sorgente

-

Anteprima

Immaginegrezza, senza correzione
Anteprima ferma. Premere «Avvia anteprima» o «Scatta».
Nitidezza
-
massimo visto: -
Saturati
-
pixel a 250 o più; da tenere sotto l'1 %
Livello medio
-
scala 0-255
Frame pieno
-
 

Parametri camera

-
"""