Vylepšení skenování - prázdné stránky, otáčení, vylepšení UI
Compare changes
- Jiří Setnička authored
Navazujeme na vyprahovaný černobílý obrázek, který používá detekce QR kódů. Pokud žádný QR kód nenajdeme, tak provádíme: * ořez 10 pixelů z každé strany pro odstranění divných hran ze skeneru * jeden krok eroze maticí 3x3 pro odstranění šumu a smetí na skeneru (pro každý pixel vezmeme maximum z jeho 3x3 okolí = eroze černých oblastí) * spočítáme entropii obrázku (skrze metodu PIL.Image.entropy()) Pokud spočítaná entropie překročí threshold 0.005, tak stránku odhadneme za plnou, jinak ji odhadneme za prázdnou. Testování thresholdu na Xerox scanneru, seřazené podle entropie: * prázdná úplně bílá stránka (uměle vyrobená): 0.0 * prázdná nezmačkaná stránka: 0.0000054647 * prázdná zmačkaná a natržená stránka: 0.0000314348 * vygenerované PDF s hlavičkou protokolu (neprošlo skenem, čisté PDF): 0.0166886208 * sken ručních zápisků na kostičkovaný papír (popsaná 1/4 stránky): 0.0764304045 * vybledlá pomačkaná faktura vytisklá s docházejícím tonerem: 0.0833685388 * sken ručních zápisků na kostičkovaný papír (popsána 1/2 stránky): 0.1503896076 * nějaký vyplněný formulář (tisk + propiska, nezmačkaný): 0.2290705466 * sken ručních zápisků na kostičkovaný papír (popsána celá stránka, hodně škrtání): 0.2393648031 Zatím není informace využitá, použije se v dalších commitech.
+ 31
− 3
@@ -21,6 +21,11 @@ from mo.util import logger, part_path, tex_arg
@@ -211,6 +216,7 @@ class ScanJobArgs:
@@ -369,14 +375,36 @@ def _process_scan_file(args: ScanJobArgs) -> ScanJobResult: