ich habe zwei Strichzeichnungen (original: Schaltpl=E4ne als pdf- Dateien) und m=F6chte daraus 3 Zeichnungen erzeugen:
- eine schwarze zeigt nur das, was bei beiden Zeichnungen gleich ist
- eine rote zeigt nur das, was bei Zeichnung 1 fehlt (in Zeichnung 2 gel=F6scht wurde)
- eine gr=FCne zeigt nur das, was in Zeichnung 2 gegen=FCber Zeichnung 1 erg=E4nzt wurde)
Wie k=F6nnte man sowas realisieren? Ich hatte bisher an gimp gedacht und wollte die beiden Bilder als unterschiedliche Ebenen laden. Allerdings habe ich nichts gefunden, was den Unterschied der beiden Ebenen wie gefordert darstellen kann.
Zuerst bei beiden Zeichnungen die Farben ändern, und zwar in jeder Zeichnung unterschiedlich. Dann legst Du die beiden Bilder übereinander. Du mußt allerdings bei mindestens einem Bild die Transparenz einstellen, damit es das andere nicht verdeckt. Es ergibt sich zwar nicht direkt Deine gewünschte Darstellung, aber man findet Unterschiede so ganz gut. Ich hab das ein paarmal mit Layouts gemacht.
Mit Gimp geht es. Beide Bilder werden übereinander gelegt, Layer 1 wählen Markieren alles schwarzen, select merged anhaken, Layer 2 wählen Markiermethode auf "subtrahieren" einstellen und schwarz markieren Ziellayer wählen, Markierung farbig füllen...
Eine detaillierte Gimp-Anleitung kann ich nicht liefern, aber einen allgemeinen Ansatz: =46=E4rbe die Ausgangsgrafiken passend um (schwarz nach rot bzw. gr=FCn = und wei=DF nach transparent) und bilde eine Differenz als dritten Layer.=20
Voraussetzung w=E4re, da=DF die Zeichnungen rein schwarz/wei=DF ohne Kompressionsartefakte vorliegen. Bei JPG-Kompression (PDF hat hier viele Optionen) hast Du maschinell wenig Chancen.
Doch, natürlich. Irgendein Mittelwertfilter und danach "binarisieren", also entweder Kanalzahl auf zwei reduzieren oder einfach Kontrast maximieren. Über den Schwellwert bei der Kanalreduktion oder den Helligkeitsregler bei der Variante über den Kontrast kannst du die durch den Mittelwertfilter breiter gewordenen Striche wieder in etwa auf die ursprüngliche Stärke bekommen.
Die Operationen kann man sinngemäß (ggf. auch erneut) auch auf das fertige Bild anwenden, (Kanalzahl=4 statt 2, bzw. Farbkontrast statt Kontrast) dabei entfällt allerdings die Möglichkeit der Einflußnahme per einfachem Schwellwert.
Die Differenz beider Ebenen sollte eine Maske ergeben, die man dann vielfältig verwenden kann - direkt als Ebenenmaske zur Ainzeige der grün bzw. rot eingefärbten Kopie der beiden Zeichnungen, invertiert zum Ausblenden der unterschiedlicher Teile, oder als Kanal die Grundlage einer Auswahl, ...
Das hängt davon ab, wie schlecht das Jpeg ist (oft leider sehr schlecht). Reduktion auf zwei Farben (schwarz und weiß) und Speichern als z.B. PNG könnte die Sache, bis auf viele versteute Farbblitzer viellicht noch retten.
Vielen Dank f=FCr die Hinweise. Ich habe es letztendlich mit einer Kombination aus ghostscript, pdftk und ImageMagick umgesetzt (sollte f=FCr eine gro=DFe Anzahl Seiten automatisch gehen). Falls es noch jemanden interessiert hier das script:
Gruss, Jan
#/bin/bash
#Dateinamen ohne Endung '.pdf' neu=3Dschaltung_neu alt=3Dschaltung_alt
if [ $neu_seiten !=3D $alt_seiten ] ; then echo "page count different - exiting..." exit 1 fi
echo "computing differnce of "$neu_seiten" pages."
create_diffpage() { neu=3D$1 alt=3D$2 i=3D$3
#Farbe =E4ndern in gr=FCn convert $neu-s$i.png -fill green -opaque black $neu-s$i-green.png echo -n "." #Hintergrund entfernen (transparent machen) convert $neu-s$i.png -transparent white $neu-s$i-t.png
#Farbe =E4ndern in rot convert $alt-s$i.png -fill red -opaque black $alt-s$i-red.png #Hintergrund entfernen (transparent machen) convert $alt-s$i.png -transparent white $alt-s$i-t.png
#Gemeinsamkeiten beider Bilder - in schwarz composite -compose Screen $alt-s$i.png $neu-s$i.png screen-s$i.png convert screen-s$i.png -transparent white screen-s$i-t.png
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.