tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1068
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    lusiphur lusiphur ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    85
    Hallo,

    Wie ist es unter C# möglich 2 Bilder zu vergleichen und die Koordinaten der Änderung zu bekommen
    für Tips und Ideenwähre ich dankbar

    Danke

    Lusiphur
     
    Ich bitte Rechtschreibfehler u.ä. zu entschuldigen ich bin Legasteniker

  2. #2
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Du könntest jeden Pixel einzeln überprüfen. Du könntest das Bild in eine Bitmap-Klasse laden und dann die GetPixel-Methode verwenden.
     
    hihi = -h²

  3. #3
    Avatar von Vereth
    Vereth Vereth ist offline Mitglied Brokat
    Registriert seit
    Nov 2009
    Ort
    Dortmund
    Beiträge
    372
    Du kannst auch eine dritte Bitmap erzeugen, die eine Bitmap hineinkopieren, und die zweite Bitmap mit dwRop SRCINVERT darüber blitten. Durch die XOR-Verknüpfung sind Veränderungen genau an den Koordinaten zu finden, wo das resultierende Pixel nicht schwarz (RGB(0,0,0)) ist.
     
    Vielen Dank für die Nutzung des Bewerten- und Danke-Buttons

    Wenn man sieht, dass man einen anderen glücklich gemacht hat, ist die Welt um zwei glückliche Menschen reicher.

  4. #4
    Avatar von chmee
    chmee chmee ist offline mod | media
    tutorials.de Moderator
    Registriert seit
    Apr 2004
    Ort
    Berlin bei Potsdam
    Beiträge
    7.630
    Blog-Einträge
    4
    Zweite Idee mit dem XOR ist natürlich um Vielfaches schneller. Beides setzt voraus, dass die Bilder eigentlich 1:1 sind, also zB Retuscheaktionen. Wenn das Bild nur ein bisschen seine Position verändert, führt diese Form zu keinem Ergebnis, obwohl das Auge keinen Unterschied sehen würde (zB. Drehung um 1° oder Verschiebung um 1px). Sogar Bildrauschen der Kamera kann ein positives Ereignis schon vereiteln, also müsste man auch mit einer Toleranz arbeiten, zB im Ergebnis dürfen nicht mehr als 2% aller Pixel heller als Hellgrau (zB #aaa) werden..

    Um es besser zu machen, müssten Stützpunkte gesetzt werden (ähnlich einer Fingerabdruckanalyse), und das zweite Bild per Warping an das Erste angeglichen werden. Helfen könnte auch das simple Weichzeichnen um einen geringen Betrag (1-2px). Man verliert Details/Kanten, aber die Vergleichs-Werte werden besser, da zB Rauschen verschwindet und 1px-Verschiebungen minimiert werden.

    mfg chmee

    Nachtrag: Autopano SIFT-C setzt zB Kontrollpunkte und kann dann Bilder auf Basis der Kontrollpunkte übereinanderlegen. Wird benutzt zB in Hugin, einer Panoramasoftware.

    Nachtrag 2: Bedacht werden muss auch, dass zB eine simple Helligkeitserhöhung und Kontrastveränderung die Bilder als nicht gleich einstufen würde. Also müsste man auch einbauen zB Vergleich der Histogramme ( zB für Kontraständerung) und gleichbleibende Helligkeitsveränderung als einfache statische Addition/Subtraktion über alle Pixel.
     
    Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
    Benutzt den DANKE-Knopf oder bewertet den Beitrag

    "GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
    -> Regexp <- -> php <- -> Javascript <-

Ähnliche Themen

  1. 2 Bilder vergleichen -XOR
    Von nicok im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 09.04.09, 12:14
  2. Bilder vergleichen [VB2008]
    Von Ichbinalex im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 12.01.09, 18:29
  3. Bilder vergleichen mit getText()
    Von lucas66 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 15.06.07, 15:01
  4. 2 Bilder vergleichen
    Von Bizkit im Forum .NET Grafik und Sound
    Antworten: 1
    Letzter Beitrag: 17.01.07, 14:47
  5. Bilder vergleichen
    Von MaxMara im Forum PHP
    Antworten: 6
    Letzter Beitrag: 19.07.06, 10:43