Windows GUI für noteshrink

Du hast eine Idee für ein Projekt?
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Mittwoch 26. Oktober 2016, 18:40

zur Vorgeschichte - ich hab hier viewtopic.php?f=2&p=300092#p300092 das Problem bereits beschrieben
Ich hab vor einiger Zeit ein Buch von http://gen.lib.rus.ec/ runter geladen (200 MB), dass miserabel gescannt war, also hab ich versucht die 1013 exportierten Bilder so weit als möglich zu optimieren. Zum Einsatz kam dabei Lightroom und Photoshop mit einem Plugin für den schnellen Weißabgleich. Beides hat keine optimalen Resultate erbracht. Bei der Suche nach einer besseren Lösung bin ich dann auf den Beitrag "Convert scans of handwritten notes to beautiful, compact PDFs" https://mzucker.github.io/2016/09/20/noteshrink.html gestoßen. Die dort gezeigten Resultate sind genau das, was all die Menschen brauchen, die sich mit solcher Problematik (Verbesserung schlechter Scanns) beschäftigen.


Ich habe in der Zwischenzeit durch ein hilfreiches Forenmitglied erfahren, dass alle Requirements von noteshrink in Anaconda enthalten sind.

Leider gibt es von dem Autor auf der Projektseite https://github.com/mzucker/noteshrink zwar das Skript, aber für Win User keine GUI, weshalb ich hier einfach mal die Frage stelle, ob es hier nicht jemand gibt, der Lust hat so was zu machen, denn ja man kann den Umgang mit der Konsole lernen, doch Tools wie noteshrink braucht man nicht jeden Tag und wenn es dann mal ein paar Monate nicht zum Einsatz kommt, hat Otto normal Windows User vergessen was man denn wie per Kommandozeile macht.
Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Acer54
User
Beiträge: 13
Registriert: Donnerstag 17. Juli 2014, 20:42

Freitag 11. November 2016, 20:12

Hallo Togijak,

besteht hierzu immer noch Interesse deinerseits? Wolltest du hierzu etwas "beisteuern" oder wolltest du nur die Erstellung einer GUI anstoßen?

Ich habe zwar kein all zu großes Interesse an dem Programm selbst, allerdings ist es aufgrund der wenig umfangreichen Struktur ein guter Kandidat um einmal ein komplettes GUI-Programm zu erstellen.

Ich würde allerdings dein Vorhaben ein "Windows-GUI" zu erstellen darum erweitern, ein "plattformunabhängiges" GUI zu erstellen.

Mein momentaner Plan wäre:

- GUI-Framework "PyQt4", oder "PyQt5" (auf Unixoiden Systemen, soll das verwendet werden, was da ist ...Qt4 ode Qt5, ür Win werden die notwendigen libs aus PyQt4 in einem nativen Installer verteilt).
- Python2.7 oder Python3 (beides soll möglich sein)
- Zusatzfunktionen, wie "Settings" speichern, separater Druckdialog um direkt aus der Anwendung drucken zu können >> Scan + Print Processor ?, Vorschaufunktion (bei Veränderung von Settings)
- Multilingualität
- Funktionell, würde ich mich jedoch auf dem bereits bestehenden Django basiertem Web-Client orientieren :https://github.com/delneg/noteshrinker-django
- zur Verteilung würde ich fürs erste einen *.exe Installer für Windows erstellen und ein *.deb Paket... (Debian-basierte Systeme)

Ich würde hierzu ein github repo anlegen, sobald die erste grobe Version soweit fertig ist.
Es wäre natürlich schon, wenn sich Leute finden würden, die ihr Wissen und Erfahrung beisteuern können und bei diesem Miniprojekt mithelfen. Übersetzer werden früher oder später auch benötigt werden.

Hat hierzu jemand Interesse ?

Gruß
Acer
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Samstag 12. November 2016, 01:21

@Acer54

1. Plattform unabhängig wäre genial denn hier z.B. https://www.diybookscanner.org/forum/index.php kommt nicht nur Win zum Einsatz (ich hab auf meinem Netbook z.B. Mint)
2. tue ich jedem einen Gefallen, wenn ich nichts zum Code beisteure (habe gerade erst die ersten Schritte gemacht) bin allerdings gerne bereit das Ganze in diversen Foren vorzustellen wenn es eine erste lauffähige Variante gibt (zumal dort sicher auch codende User sind.
3. Print ist nicht erforderlich da das Tool ein PDF erzeugen kann. In der Regel sind auch nicht alle Seiten eines Buchs schlecht = man exportiert die Bilder und selektiert die, die man bearbeiten will und muss die dann nach der Korrektur wieder in die Sammlung integrieren (weshalb ich auf die PDF Erstellung verzichte)
4. was das Übersetzen betrifft, dass sollte kein großes Problem werden wenn die zu übersetzenden Texte in einer Datei zusammengefasst sind, da ich in einem Forum bin http://www.nsaneforums.com/ in dem User aus der ganzen Welt vertreten sind und sich dort sicher einige Sprachen organisieren lassen.

Falls Du das tatsächlich in Angriff nehmen solltest lass ich die ICQ und Jabber zukommen um die Rücksprache zu vereinfachen
Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Acer54
User
Beiträge: 13
Registriert: Donnerstag 17. Juli 2014, 20:42

Samstag 12. November 2016, 17:53

Hallo Togijak,

ich habe mir gestern schon mal ein paar Gedanke dazu gemacht und ein erstes Grundgerüst erstellt. Ein erster Grobentwurf der GUI habe ich hier mal hochgeladen.
Die GUI macht natürlich noch nicht sehr viel...

Ich habe mir das Hauptfenster in 3 Sektion unterteilt vorgestellt ... Der Workflow läuft von Links nach rechts.
-> ganz Links: Dateibrowser, der das System in einer Baumstruktur darstellt (Es werden ausschließlich verarbeitbare Dateien angezeigt, also Bilder)
-> In der Mitte, soll eine Liste geführt werden die per Drag n drop befüllt werden kann. Die reihenfolge der Bilder soll entsprechend auch per Drag n Drop veränderbar sein.
-> Auch in der Mitte, allerdings unten, soll das momentan "aktive" Bild als Vorschau angezeigt werden. (mit angewendeten Settings)
-> rechts werden die Settings vorgenommen. Diese können pro Bild vorgenommen werden, oder auf alle Bilder angewendet werden

Generate startet dann den Umwandlungsprozess. Es soll eine Toolbar und eine Statusbar geben (Fortschrittsanzeige, wenn längere Operationen laufen).

Was mir noch nicht ganz einleuchtet ist, dass zur Konvertierung ins PDF Format "Imagemagik" bzw. dessen cli-command "convert" verwendet wird... Allerdings ist "Imagemagik" nicht in den Requirements gelistet.

Bist du zufällig Windows-Nutzer und hast das Programm schon mal ausprobiert?? Bei mir (Linux) läuft es. Allerdings habe ich auch erst die Abhängigkeiten installiert ... Imagemagik ist bei mir standardmäßig installiert ... (Ubuntu).

Wenn nämlich "Abhängigkeiten" über einen Installer (*.exe) installiert werden müssen, wird das Ganze schon wieder aufwändiger ;-)

Wegen de Übersetzung mache ich mir erst mal keine Sorgen. Die Übersetzung kann ganz einfach mittels Qt-Linguist durchgeführt werden... allerdings erstelle ich das Teil erst mal auf English, da das der Fallback werden wird, wenn eine Systemsprache noch nicht vorhanden sein sollte..

Da Togijak bzgl. der Programmierung nichts weiter beitragen kann mal eine Frage in die Runde: Hat sonst noch jemand Interesse hierbei etwas mit zu helfen? Ich denke ich werde etwa in einer Woche (je nachdem wie oft ich die nächsten Tage dazu komme) eine erste rudimentär funktionierende Version fertig bekommen, welche zwar nicht vollen Funktionsumfang hat, allerdings schon mal "etwas" machen sollte :-D
Dann lege ich auch ein github-repo dafür an.

Cheers

Acer
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Samstag 12. November 2016, 19:25

Hallo Acher

Da ich das im Kopf habe (nicht nachlesen muss) = du brauchst ne Brille :lol: (Allerdings ist "Imagemagik" nicht in den Requirements gelistet) denn
Requirements

Python 2 or 3
NumPy 1.10 or later
SciPy
ImageMagick
Image module from PIL or Pillow


aber man muss sich nicht alles selbst zusammen suchen wenn man Anaconda 3-4 2 0-Windows-x86 64 installiert (was man ja als Bedingung mit Link https://www.continuum.io/downloads#windows (gibt es auch für Mac und Linux) dazu schreiben kann (für die die keine / wenig Python Erfahrung haben)), denn dort ist alles enthalten.

Damit dürfte auch die Frage beantwortet sein ob ich WinDoof Nutzer bin und es schon mal probiert habe = ja und ja und erst danach habe ich die Frage nach der GUI gestellt da das Tool in bestimmten Fällen einen tollen Job macht aber unschön zu bedienen ist da man eben z.B. keine Vorschau hat, sich immer erst das Resultat ansehen muss (um dann festzustellen, dass man zu viel bzw. zu wenig getan hatte.

Das Vorschau Fenster sollte übrigens so groß wie max möglich sein, denn wenn es zu klein ist erkennt man möglicherweise nicht, dass man eine Einstellung überzogen hat. Der Dateibrowser muss meiner Ansicht nach nicht sein wenn man die Selectionsfeld für den Sourcefolder hätte.

Sieht aber auf jeden Fall schon mal gut aus was Du dir da ausgedacht hast !!!!!!!!!!!!!!
Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Acer54
User
Beiträge: 13
Registriert: Donnerstag 17. Juli 2014, 20:42

Samstag 19. November 2016, 15:55

Das Hinzufügen und organisieren von Dateien und deren Reihenfolge ist soweit fertig (bis auf ein paar Kleinigkeiten, wo es ab und zu noch etwas hakt...)
Hier mal ein kleines Video: http://sendvid.com/8ab8ymd3

Jetzt ist die Frage, wie man die Organisation der Einstellungen für noteshrink haben möchte... entweder man stellt die "Regler" immer auf das entsprechende "Originalbild" ein, oder man übernimmt die "Defaulteinstellung" von noteshrink und wendet diese schon mal an um das Vorschaubild (unten Mitte) zu erzeugen.

Ich könnte mir vorstellen, dass die Defaulteinstellungen bereits zu einem "verbesserten" Ergebnis führen könnten. Daher wäre es vielleicht sogar Sinnvoll die Defaults für jedes hinzugefügte Bild direkt an zu wenden?

Was ist logischer ?

Gruß
Matthias
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Samstag 19. November 2016, 21:25

Hallo Matthias

Die Idee die "Defaulteinstellung" zu übernehmen ist sicher eine gute Idee, wobei das nicht der 0punkt der Einstellung sein sollte, denn es wäre ja denkbar, dass auch mal kleinere Werte erforderlich / sinnvoll sein könnten.

Dabei fällt mir noch etwas zum Design ein -> die Fläche um die Vorschau sollte dunkel sein. Ich könnte die jetzt eine kluge Abhandlung zur Begründung reinkopieren, doch es geht auch einfacher - nimm einfach mal irgend ein Foto das du hast, leg es erst auf ein weißes Blatt und beurteile das Bild und mach dann das selbe mit einem dunklen Hintergrund. Die Farben des Bildes wirken vor dem dunklen Hintergrund auf das menschliche Auge anders.

Gruß

Togijak
Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Acer54
User
Beiträge: 13
Registriert: Donnerstag 17. Juli 2014, 20:42

Sonntag 20. November 2016, 11:37

Togijak hat geschrieben: die Fläche um die Vorschau sollte dunkel sein. Ich könnte die jetzt eine kluge Abhandlung zur Begründung reinkopieren, doch es geht auch einfacher - nimm einfach mal irgend ein Foto das du hast, leg es erst auf ein weißes Blatt und beurteile das Bild und mach dann das selbe mit einem dunklen Hintergrund. Die Farben des Bildes wirken vor dem dunklen Hintergrund auf das menschliche Auge anders.
Du sprichst von der Mini-Vorschau in der Dateiliste? Oder von der (noch zu erstellenden) Vorschau in der mittleren Spalte unten... ? Oder von beidem?

Grundsätzlich jedoch, (sollte) "Hintergrund" kein Problem sein... Ich hoffe das lässt sich mit einfachen Stylesheets realisieren. Ist es sinnvoll diesen Hintergrund zwischen weiß/schwarz umschalten zu können? Vielleicht erstelle ich noch eine Art "Settings-Dialog" ... ich denke, dass man eventuell "Standard-Pfade" einstellen möchte, oder auch andere Programme als "convert" zum erstellen von PDFs nutzen will/muss.

Ich habe mir den Code von noteshrink auch schon mal kurz angesehen, und überlegt, ob dies nicht sogar komplett mit Qt realisisert werden kann (Qt hat auch eine relativ gute lib für Bildmanipulation und Auswertung (QImage)) ... für einen PDF Drucker gäbe es auch bestimmt Lösungen. So ließen sich die Abhängigkeiten reduzieren und im Endeffekt das Installationspaket verkleinern. (zumindest für Windows)
Das wäre nun eh einer der nächsten Schritte.

Du könntest mir einen Gefallen tun und schon mal ein Anwendungsicon besorgen / erstellen (Lizenzfrei) in relativ hoher Auflösung, da ich für die optimale Darstellung auf den Zielplattformen einige Größen bieten muss ;-)
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Sonntag 20. November 2016, 17:30

1. Natürlich von der (noch zu erstellenden) Vorschau in der mittleren Spalte unten
2. bei der Dateiauswahl wird keine Vorschau benötigt, denn wer das ganze vernünftig nutzen will wird für die Selektion ein eigenständiges Tool verwenden (ich persönlich mach das in jedem Fall in Lightroom da hier z.B. für alle Dateien ein Weißpunktabgleich möglich ist und danach selektiert man dort was denn ein Fall für Noteshrink ist und exportiert nur diese Bilder in einen Folder (auch ein Grund warum ich die riesige Dateiauswahl für unnötig empfinde, denn wer so was nicht nur einmal macht hat entsprechende Folder die für nichts anderes genutzt werden)).
3. um das Anwendungsicon kümmere ich mich
Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Montag 21. November 2016, 22:37

Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Acer54
User
Beiträge: 13
Registriert: Donnerstag 17. Juli 2014, 20:42

Mittwoch 23. November 2016, 19:50

Super! Danke für die gute Aufbereitung!

Ich kämpfe momentan mit der Portierung nach Qt4 um ext. Libs und Abhängigkeiten soweit wie möglich runter zu bekommen.
PIL konnte ich schon mal mit Qt4.QImage ersetzen, später möchte ich auch noch Imagemagik loswerden und stattdessen das PDF direkt aus Qt4 erzeugen.

Ich versuche auch noch eine Möglichkeit zu finden, wie am schnellsten Vorschaubilder erzeugt werden können, die schnell genug berechnet werden, dass das Arbeiten noch Spaß macht...
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Mittwoch 23. November 2016, 20:18

sorry wenn ich jetzt einen bösen Gedanken habe. Wie wäre es denn, wenn Du auf die Portierung in Version 1 (Freeware) verzichtest und eine Version 2 mit der Portierung als Shareware machst? Wenn Du da so viel Arbeit rein steckst solltest Du unter dem Strich ja auch mehr als nur den Imagegewinn als toller Coder haben.
Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Acer54
User
Beiträge: 13
Registriert: Donnerstag 17. Juli 2014, 20:42

Samstag 26. November 2016, 18:36

Hallo Togijak,

ich bin gerade dabei den Settingsbereich zu organisieren und mit etwas Logik zu versehen.
Allerdings bräuchte ich etwas Hilfe bzgl. Plausibilität der Min/Max Werte, da ich wenig Ahnung habe, was dort genau "sinnvoll" ist.

Ich benutze folgende Standardwerte:

Code: Alles auswählen

'-b', dest='basename', metavar='BASENAME',          default='page',                    help='output PNG filename base' + show_default)
'-o', dest='pdfname', metavar='PDF',                default='output.pdf',              help='output PDF filename' + show_default)
'-v', dest='value_threshold', type=percent,         default='25',                      help='background value threshold %%'+show_default)
'-s', dest='sat_threshold', type=percent,           default='20',                      help='background saturation threshold %%'+show_default)
'-n', dest='num_colors', type=int,                  default='8',                       help='number of output colors '+show_default)
'-p', dest='sample_fraction', type=percent,         default='5',                       help='%% of pixels to sample' + show_default)


Der Großteil der Werte wird mittels Slider eingestellt, welche ich nach Möglichkeit "Rastern" will und für die der Defaultwert markiert sein soll.
Außerdem bräuchte ich pro Wert einen plausiblen Min und Max Wert... hast du hier Erfahrung bzw. nähere Informationen für mich ?
->ich bräuchte also pro o.g. Wert die Schrittweite, die sinnvoll ist und die Min-Max Werte... (z.B. könnte ich mir vorstellen, dass für "num_colors" ein Wert zwischen 2 und 256 gefragt sein könnte, mit einem Raster von 1(?) Aber ob das besonders sinnvoll ist, weiß ich ehrlich gesagt nicht.
(Bedenke, es gibt vielleicht Leute, die solch ein Programm eventuell als Post-Processing zu einem Scan mit Bildern verwenden wollen....)

Das würde mir momentan bestimmt schon mal wieder weiterhelfen.

MIt der Berechnung der Vorschaubilder bin ich übrigens fertig. Mittlerweile geht das Berechnen nun auch richtig flott. Allerdings muss ich das auch noch auf "schwächerer" Hardware testen... (habe in meinem Notebook einen i7 (Gen7, Kaby Lake) mit einer M.2 SSD... da sind solche Sachen eh meist recht zügig erledigt...)

Bzgl. Shareware: No Way. Wenn noteshrink unter der MIT Lizenz steht, wird auch notshrinker-qt unter der MIT geführt werden... außerdem wird es nicht "perfekt" werden, da ich das Ganze ja nur Hobbymäßig mache und momentan auch eh zu viele eigene Projekt parallel versuche zu verbessern, zu warten und User-Fragen zu beantworten ;-) eeeein Streß quasi :-D

Grundsätzlich bin ich auch eingefleischter Linuxianer und daher Open Source verwöhnt. :mrgreen:
Benutzeravatar
Togijak
User
Beiträge: 24
Registriert: Donnerstag 27. November 2014, 16:35
Kontaktdaten:

Sonntag 27. November 2016, 01:37

@Acer

Wegen der Werte werde ich mal versuchen ein paar sinnvolle Informationen von Bildverarbeitungs-Gurus zu bekommen, denn ich muss zugeben ich habe in meinen Anwendungsfällen den try and error Weg gewählt, da ich mögliche Abhängigkeiten nicht durchschaut habe. Es rennen leider nicht so viele Mathegurus rum die dann auch noch was von Bildverarbeitung verstehen und einem das in verständlicher Form erklären können (von dem Missstand kann man sich leicht überzeugen wenn man sich Bücher zum Colormanagement http://gen.lib.rus.ec/book/index.php?md ... A002CF1E1D oder http://gen.lib.rus.ec/book/index.php?md ... DBABCE705D durchliest) Die Komplexität des Themas ist sicher auch ein Grund dafür, dass sich Grafiker und Druckvorstufe oft nicht wirklich verstehen :K

Was den Test auf schwacher Hardware betrifft = kann ich machen denn ich muss leider mit einem Core I3 und und einer IDE HD leben da mit Grundsicherung einfach nicht mehr geht wenn man alleine fürs online gehen per Surfstick 50 € im Monat bezahlen muss :roll:

Wenn wir uns außerhalb von Bildverarbeitung befinden bin auch ich ein eingefleischter Linuxianer und teile deine Einstellung was freie Software betrifft.
Was wir an Niedern rühmen als Geduld, ist blasse Feigheit in der Brust - William Shakespeare
Acer54
User
Beiträge: 13
Registriert: Donnerstag 17. Juli 2014, 20:42

Mittwoch 30. November 2016, 22:20

Hallo Togijak,

heute kommt Grays Anatomy in der Glotze, was mich wieder mal vor den Computer gezwungen hat. Ich habe nun bzgl. noteshrinker-qt einfach mal nach Gefühl Settings definiert ... Sinnvoll oder nicht, weiß ich eigentlich nicht ;-)

Hier mal ein Video, ... die Vorschau ist mittlerweile auch bei komplexeren Bildern recht flott... wobei ich die Aufnahme auf meiner Dell Workstation gemacht habe :roll:

Ich habe das Ganze übrigends hier auf github liegen.
Wenn du die Abhängigkeiten installiert bekommst, kannst du das Ding ja mal testen ;-)

Es fehlt natürlich noch einiges, speziell die eigentliche "Kernfunktion" ... nämich das erzeugen und Speichern von Bildern bzw. PDF in voller Auflösung :mrgreen:

PS.: Ich habe übrigends auch eine "Select from Folder" Funktion eingebaut, die ich irgendwann mal zeige, dabei werden einfach alle Bilder in einem Ordner in alphabetischer Reihenfolge importiert ...
Antworten