• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs Juli 2025.
    Thema: "Unscharf"

    Nur noch bis zum 31.07.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

gdenoise - open source Rauschfilter

Hellworm

Themenersteller
Edit: Habs endlich auch für windwos zum laufen gebracht. Siehe unten

Vor einer weile habe ich die Olympus E500 gekauft. Natürlich wusste ich das sie nicht das beste Rauschverhalten hat. Ich hatte aber nicht vor mit hohen ISO-Werten zu arbeiten (und habs bisher auch selten gemacht). Bei ein paar Aufnahmen musste ich aber dann doch auf die hohe Empfindlichkeit zurückgreifen und hab anschließend nach einem weg gesucht das Rauschen zu entfernen. Dabei ist mir der große Mangel an guter auch nur überhaupt brauchbarer Software für diesen Bereich auf Linux aufgefallen. Das einzige was ich gefunden habe ist dieser exzellente Videofilter von Alexander G. Balakhnin aka Fizick. Lange rede kurzer Sinn, ich habe den filter auf linux portiert, so dass er jetzt Bilder im ppm-Format läd und speichert und ein paar Funktionen hinzugefügt.

Features:
- Blockweises Entrauschen mit einem optimalen Wiener Filter im Fourierraum
- Arbeitet im Lab-Farbraum
- Filterstärke lässt sich abhängig von der Helligkeit und für jeden Farbkanal einzeln regeln
- Blockgröße lässt sich für jeden Farbkanal einzeln wählen

Beschränkungen:
- liest und schreibt nur 8bit-rgb-ppm datein und nimmt für die Bilder den sRGB-Farbraum an
- nur unter Linux getestet

Zur installation:

Linux:
es werden die Entwicklungspakete von lcms und fftw3 benötigt (Unter debian: liblcms1-dev und fftw3-dev). Sind diese installiert dann einfach den angehängten Quellcode herunterladen, entpacken und mit
gcc gdenoise.c -o gdenoise -lfftw3f -llcms -O3
oder
gcc gdenoise.c -o gdenoise -lfftw3f -llcms -O3 -fvariable-expansion-in-unroller -funroll-loops -ftracer -ftree-vectorize -funsafe-loop-optimizations -fprefetch-loop-arrays -msse -mfpmath=sse -march=PROZESSORTYP
compilieren.
Danach unter Umständen nach /usr/local/bin kopieren oder direkt ausführen.

Windows:
Die zip dateien (Achtung!dlls nicht vergessen) im Anhang herunterladen, entpacken, die dlls nach windows\system32 kopieren und die exe aus der kommandozeile (ausführen->cmd) aufrufen.

Benutzung:
gdenoise ist ein Programm für die Kommandozeile. Wenn man es mit "-h" aufruft erscheint eine kurze Hilfe.
Hier die ausfühliche Version:

Allgemein: gdenoise -o outfile.ppm infile.ppm

Argumente:
-v gibt einige informationen und den Fortschritt aus.
-b [Blockgröße] Die Blockgröße muss zwischen 8 und 64 liegen und ein mehrfaches von 2 sein. Wenn für die Farbkanäle andere Werte benutzt werden sollen kann man sie mit doppelpunkte abgetrennt hinter die erste Zahl schreiben. "-b 8:32:64" würde für die Helligkeit die Blockgröße 8, für den Farbkanal a die größe 32 und für kanal b die größe 64 benutzen.
Größere blocke bedeuten ein besseres entrauschen aber dafür mehr Artefakte um kanten im Bild.
-s [Filterstärke] Je größer desto mehr rauschen wird entfernt. Kann ebenfalls für die Farbkanäle zusätzlich angegeben werden. Außerdem kann man nochmal 3 Zahlen anhängen um abhängig von der Helligkeit zu filtern. Die zweiten Zahlen geben dann die stärke im weißen bereichen, die ersten in schwarzen an.
-s2 [Filterstärke] für Tiefere Frequenzen. Erlaubt es Tiefe Frequenzen, das heisst "grobes" Rauschen anders zu filtern als das restliche. Syntax genauso wie bei -s.
-lab [1-3] Damit lassen sich nur die einzelnen Lab-kanäle in Graustufen ausgeben: 1-helligkeit, 2/3-Farbe
-p <xoffset>:<yoffset>:<breite>:<höhe> Filtert nur ein Teil des Bildes
-slow [1-6] je größer desto langsamer für ein bisschen höhere Qualität. default:3
-h --help Gibt eine Kurzhilfe aus

Tipps:
- Farbrauschen lässt sich sehr gut und fast ohne störende Nebeneffekte entfernen. Generell sollten die Farbkanäle stärker und mit größeren Blockgrößen gefiltert werden
- mit -lab lassen sich die einzelnen Kanäle anzeigen, das ist besonders nütlich für das Feintuning.

Ich hoffe dieses programm wird ein paar Leuten nützlich sein. Außerdem möchte ich mich noch mal bei Fizick bedanken ohne dessen großartigen Filter dieses programm nie zustande gekommen wäre.

Versionen:

0.1.1
- Bugfix: Filterstärke war bei den Farbkanälen nicht von der Helligkeit abhängig
- Feature: neuer Parameter -p um nur einen Teil zu filtern
- Feature: neuer Parameter -s2 für Tiefe frequenzen
- Feature: neuer Parameter -slow um Qualität/Geschwindigeit zu regeln.

0.1
- erste Veröffentlichung
 
Zuletzt bearbeitet:
Es gibt für linux zum entrauschen GreyCStoration und Dcamnoise als Gimp-plugin. Beide sehr gut und eines davon gibt es auch, wenn ich mich recht erinnere als Standalone Tool...
Trotzdem ist da aber bestimmt noch etwas zu verbessern... also mach ruhig weiter!!:top: Davon lebt Open Source...
 
Mit Greycstoration hab ich bisher noch nicht so gute erfahrungen beim entrauschen gemacht, taugt denke ich vor allem fürs inpainting. Aber dcamnoise kannte ich nicht, gleich mal angucken, danke für den Tipp.
 
Wie es aussieht kannte ich dcamnoise doch schon (ist bei digikam eingebaut) Wie bei den meisten filtern ist auch da das problem das ein pixel entweder gefiltert wird oder nicht. Das funktioniert bei leichtem Rauschen auf einfarbigen Bereichen wie z.B. Himmel ganz gut, sonst aber gar nicht. mein Programm arbeitet mehr wie noise ninja: Es legt ein Mathematisches Modell zugrunde und filtert dann indem das Bild in frequenzen zerlegt wird. Noise Ninja verwendet Wavelets, gdenoise die fouriertransformation.
Das Ergebnis ist, das Rauschen immer gefiltert wird, unabhängig vom bildinhalt und das das Filtern deshalb auch mit stärkerem Rauschen funkioniert.
 
Müsste eigentlich ohne Probleme funktionieren. Wenn nicht dann sehe ich das als Fehler der korrigiert werden muss.
 
Zuletzt bearbeitet:
hey das beispielbild da oben - ist das ein versuch zur visualisierung der wellenlänge von schallwellen?
 
WERBUNG
Zurück
Oben Unten