• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • 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 ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Frohe Ostern!

    Wir wünschen allen DSLR-Forum Nutzern, ihren Familien und Freunden sowie unseren Sponsoren und Partnern und deren Familien und Freunden ein frohes Osterfest.

    Euer DSLR-Forum Team!
WERBUNG

PS - Eigene Filter: Konvolution/Dekonvolution?

10dency

Themenersteller
In Photoshop gibt es ja den 'Sonstige' Filter "Eigener Filter". Dieser beruht - so las ich - auf dem Prinzip der Konvolution. Theoretisch müsste es damit ja drin sein, auch Dekonvolution hinzukriegen ... :confused:

Da hier mit Mariane und Hoogo schon mal zwei Informatikerfreaks (y) unterwegs sind und sicher noch einige nicht genannte - hat irgendjemand von euch einen systematischen Zugang zu dieser Sorte von Matrix-Filtern? Ich selbst kann da nur planlos Zahlen eingeben und die mehr oder weniger interessanten Ergebnisse betrachten, die zum Glück in Echtzeit ausgegeben werden. Miese Schärfung, einfache Weichzeichnung und hässlich-abstraktes hab ich damit auf diese Weise in ruhiger Minute schon hinbekommen. :ugly:

Prinzip: 5 mal 5 Felder. In der Mitte das Zentralpixel, umliegend die umliegenden Pixel, wo man numerisch angeben kann, wie diese mit dem Zentralpixel verrechnet werden sollen. Unten Skalierung und Versatz. Aber wie, was und ob überhaupt gezielt handhabbar ... Da hab ich keinen Plan. Ist das Ding überhaupt sinnvoll einsetzbar?

Anybody? ;)
 
Sorry , kein Plan.
Dachte ich wäre jede Funktion in PS schonmal durchgegangen. Aber mit dem Filter habe ich mich absolut 0 auseinandergesetzt.
Hab eben mal reingesehen ,von intuitiv kann ich hier nicht sprechen.
 
Nee du, mit intuitiv hat das absolut total und überhaupt GAR NIX zu tun! Deshalb frag ich ja. ;)
 
Zuletzt bearbeitet:
Das würde mich auch mal interessieren!
In Gimp sieht das so aus: http://docs.gimp.org/en/plug-in-convmatrix.html
Ganz interessant auch verschiedene Beiträge hier: http://www.flickr.com/groups/gimpusers/discuss/72157602609312527/?search=convolution
Daraus ist ein Skript enstanden mit presets für versch. Filter (sollte ich vllt. mal testen). Aber ob das das Gleiche ist wie DEkonvolution, gewissermaßen nur mit umgekehrtem Vorzeichen? Warum sollte sich dann jemand die Mühe machen, und z.B. diese Plugins schreiben? Bin mal gespannt!!
 
Das ist eigentlich nur ein Additionsfilter, die Felder (A) der Matrix sind die Multiplikatoren, Skalieren (S) ein Divisor und Versatz (V) ein Summand.

Pixel(0,0) ist das Pixel am Punkt x=0 und Y=0

Die Matrix ist

Code:
A(-2,+2) A(-1,+2) A( 0,+2) A(+1,+2) A(+2,+2)
A(-2,+1) A(-1,+1) A( 0,+1) A(+1,+1) A(+2,+1) 
A(-2, 0) A(-1, 0) A( 0, 0) A(+1, 0) A(+2, 0) 
A(-2,-1) A(-1,-1) A( 0,-1) A(+1,-1) A(+2,-1) 
A(-2,-2) A(-1,-2) A( 0,-2) A(+1,-2) A(+2,-2)

Es gilt:

Pixel(0,0) = (Pixel(-2,+2)*A(-2,+2) + ... + Pixel(+2,-2)*A(+2,-2)) / S + V


Man kann damit fast alles nachbauen:

Bild invertieren
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [      ]  [   -1 ]  [      ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [    1 ]    Versatz [  255 ]


Hochpassfilter
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [      ]  [   -4 ]  [      ]  [      ]  
[      ]  [   -4 ]  [   16 ]  [   -4 ]  [      ]  
[      ]  [      ]  [   -4 ]  [      ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [  var ]    Versatz [  127 ]  
[B]var[/B] nach belieben 1 ... 32
oder
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [    8 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [  var ]    Versatz [  127 ]  
[B]var[/B] nach belieben 8 ... 64


Relieffilter
Code:
[      ]  [      ]  [   -8 ]  [      ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
[   -8 ]  [      ]  [      ]  [      ]  [    8 ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [      ]  [    8 ]  [      ]  [      ]  
------------------------------------------------
Skalieren [   16 ]    Versatz [  127 ]


Konturen weiß
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [    8 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [  var ]    Versatz [      ]  
[B]var[/B] nach belieben 1 ... 64


Konturen schwarz
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [    8 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [  var ]    Versatz [  255 ]  
[B]var[/B] nach belieben 1 ... 8


Weichzeichner
Code:
[      ]  [      ]  [    1 ]  [      ]  [      ]  
[      ]  [    1 ]  [    2 ]  [    1 ]  [      ]  
[    1 ]  [    2 ]  [    4 ]  [    2 ]  [    1 ]  
[      ]  [    1 ]  [    2 ]  [    1 ]  [      ]  
[      ]  [      ]  [    1 ]  [      ]  [      ]  
------------------------------------------------
Skalieren [   20 ]    Versatz [      ]
oder
Code:
[      ]  [      ]  [    1 ]  [      ]  [      ]  
[      ]  [    1 ]  [   -2 ]  [    1 ]  [      ]  
[    1 ]  [   -2 ]  [    4 ]  [   -2 ]  [    1 ]  
[      ]  [    1 ]  [   -2 ]  [    1 ]  [      ]  
[      ]  [      ]  [    1 ]  [      ]  [      ]  
------------------------------------------------
Skalieren [    4 ]    Versatz [      ]


häßlicher Scharfzeichner
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [      ]  [   -1 ]  [      ]  [      ]  
[      ]  [   -1 ]  [    5 ]  [   -1 ]  [      ]  
[      ]  [      ]  [   -1 ]  [      ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [    1 ]    Versatz [      ]


ein noch häßlicherer grober Scharfzeichner
Code:
[      ]  [      ]  [   -1 ]  [      ]  [      ]  
[      ]  [   -1 ]  [   -2 ]  [   -1 ]  [      ]  
[   -1 ]  [   -2 ]  [   17 ]  [   -2 ]  [   -1 ]  
[      ]  [   -1 ]  [   -2 ]  [   -1 ]  [      ]  
[      ]  [      ]  [   -1 ]  [      ]  [      ]  
------------------------------------------------
Skalieren [    1 ]    Versatz [      ]



wie war eigentlich das Thema ... :D

Achso, Konvolution/Dekonvolution ... hmm, das Problem ist, das falten relativ einfach ist, aber entfalten (Dekonvolution) leider nicht. Zum einen ist ja die ursprüngliche Faltungs-Funktion unbekannt, zum anderen muß man eine Fourier-Transformation durchführen, das geht mit dem Eigenen Filter schon mal nicht.

Eine Annäherung wäre für einfache Dekonvolution einer 3x3-Weichzeichnungsmatrix folgender Schärfungsfilter
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [   16 ]  [   -1 ]  [      ]  
[      ]  [   -1 ]  [   -1 ]  [   -1 ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [    8 ]    Versatz [      ]
allerdings ist das eine sehr schlechte Näherung, denn vollständig umkehren kann man die Weichzeichnung nicht, man erhält auch wunderschöne Halos. Mit USM erhält man bessere Ergebnisse. :)
 
Zuletzt bearbeitet:
:eek:

Zieh ich mir heute abend mal rein. Aber der Filter scheint mir für meine Zwecke dann doch überflüssig. ;)

Danke, Mariane! :)
 
So der Informatiker bin ich auch nicht ;)
Mit dem Filter lassen sich halt Pixel miteinander verrechnen, die Bedeutung der Zahlen und nützliche Beispiele hat Mariane ja schon gepostet. Gebraucht hab ich es noch nicht, aber wenn man mal was zu verrechnen hat...

Ich dachte, in PS wäre eine Deconvolution eingebaut?
 
@Olav

Der "Eigener Filter" ist sehr einfach gestrickt, wenn du Algorithmen umsetzen möchstet, wäre die Filter Factory (auf der Photoshop-CD) ein Anfang (hat aber seine Grenzen, da man nicht beliebig vielen Code unterbringen kann) oder der "Filter Meister" (frei programierbar). Und gestern erst gefunden: http://www.filterforge.com/download/ ein Filter-Baukasten.
 
Zuletzt bearbeitet:
Eventuell gibt es ja noch weitere Beispiele, wenn ja, postet sie gleich mit hier rein, da ist das gleich mal alles beisammen. Im Web findet man ja nicht allzu viel, was sicher auch daran liegt, das der Filter im englischen "custom" heißt, ein Begriff der nunmal naturgemäß im englischsprachigen Raum nicht selten vorkommt und auch nicht photoshopspezifisch ist.


Aus einer Studiearbeit die ich gefunden habe: einige Weichzeichner


Mittelwertfilter (3x3-Faltungskern)
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [    1 ]  [    1 ]  [    1 ]  [      ]  
[      ]  [    1 ]  [    1 ]  [    1 ]  [      ]  
[      ]  [    1 ]  [    1 ]  [    1 ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [    9 ]    Versatz [      ]


Mittelwertfilter (5x5-Faltungskern)
Code:
[    1 ]  [    1 ]  [    1 ]  [    1 ]  [    1 ]  
[    1 ]  [    1 ]  [    1 ]  [    1 ]  [    1 ]  
[    1 ]  [    1 ]  [    1 ]  [    1 ]  [    1 ]  
[    1 ]  [    1 ]  [    1 ]  [    1 ]  [    1 ]  
[    1 ]  [    1 ]  [    1 ]  [    1 ]  [    1 ]  
------------------------------------------------
Skalieren [   25 ]    Versatz [      ]


Gaußfilter (3x3-Faltungskern)
Code:
[      ]  [      ]  [      ]  [      ]  [      ]  
[      ]  [    1 ]  [    2 ]  [    1 ]  [      ]  
[      ]  [    2 ]  [    4 ]  [    2 ]  [      ]  
[      ]  [    1 ]  [    2 ]  [    1 ]  [      ]  
[      ]  [      ]  [      ]  [      ]  [      ]  
------------------------------------------------
Skalieren [   16 ]    Versatz [      ]


Gaußfilter (5x5-Faltungskern)
Code:
[      ]  [    1 ]  [    2 ]  [    1 ]  [      ]  
[    1 ]  [    3 ]  [    5 ]  [    3 ]  [    1 ]  
[    2 ]  [    5 ]  [    9 ]  [    5 ]  [    2 ]  
[    1 ]  [    3 ]  [    5 ]  [    3 ]  [    1 ]  
[      ]  [    1 ]  [    2 ]  [    1 ]  [      ]  
------------------------------------------------
Skalieren [   57 ]    Versatz [      ]


Binominalfilter (3x3-Faltungskern)
identisch mit 3x3-Gaußfilter

Binominalfilter (5x5-Faltungskern)
Code:
[    1 ]  [    4 ]  [    6 ]  [    4 ]  [    1 ]  
[    4 ]  [   16 ]  [   24 ]  [   16 ]  [    4 ]  
[    6 ]  [   24 ]  [   36 ]  [   24 ]  [    6 ]  
[    4 ]  [   16 ]  [   24 ]  [   16 ]  [    4 ]  
[    1 ]  [    4 ]  [    6 ]  [    4 ]  [    1 ]  
------------------------------------------------
Skalieren [  256 ]    Versatz [      ]
 
ich habe zwar die Filterfunktion von PS noch nicht genutzt, allerdings schon des öfteren mal Bildverarbeitung mit Matlab betrieben, das Filterprinzip müsste eigentlich das gleiche sein, von daher stell ich mal noch nen paar Filter und deren nutzen hier rein

Code:
Robert Kreuz Operator y ( differenziert ein Bild in y richtung )
[ 1 ]
[ -1 ]

Robert Kreuz Operator x ( differenziert ein Bild in x Richtung )
[ 1 ] [ -1 ]

Sobel Operator y ( findet kanten in y richtung, für x richtung einfach um 90 Grad drehen )
[  1  ] [  2  ] [  1  ]
[  0  ] [  0  ] [  0  ]
[ -1  ] [ -2 ] [ -1  ]

Es gibt noch wesentlich mehr Filter, auch zur interpolation oder auch morphologische ( sprich nichtlineare ) Filter, aber die dürften für die Bildbearbeitung in der Fotographie noch uninteressanter sein.
 
WERBUNG
Zurück
Oben Unten