Zum Inhalt springen

2 Bildervergleichen


Scratch

Empfohlene Beiträge

Falls GDI+ zur Verfügung steht, geht das relativ einfach.

Hier eine Beispiel-Konsolenanwendung:

// GDI+
#include <windows.h>
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment( lib, "gdiplus.lib" )

// für cout
#include <iostream>
using namespace std;

int main()
{
// GDI+ initialisieren
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

// Scopeklammern, damit alle Objekte vor GdiPlusShutdown zerstört sind
{
Bitmap bm1( L"C:\\kk.gif" );
Bitmap bm2( L"C:\\kk2.gif" );

if( bm1.GetWidth() != bm2.GetWidth() || bm1.GetHeight() != bm2.GetHeight() ) {
// Unterschiedliche Abmessungen
cout << "Die Bilder haben unterschiedliche Abmessungen." << endl;
cout << "Es wurde kein Vergleich durchgeführt." << endl;
}
else {
int nDifferentPixels = 0;
Color color1, color2;
for( int x=0; x<bm1.GetWidth(); ++x ) {
for( int y=0; y<bm1.GetHeight(); ++y ) {
if( Ok == bm1.GetPixel( x,y, &color1 ) && Ok == bm2.GetPixel( x,y, &color2 ) ) {
if( color1.GetValue() != color2.GetValue() ) {
++nDifferentPixels;
}
}
}
}
cout << "Unterschiedliche Pixel: " << nDifferentPixels << endl;
}
}

GdiplusShutdown(gdiplusToken);
return 0;
}
[/CODE]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Grüß Euch!

Falls die Postings vorher Deine Frage nicht beantwortet haben, adnn schreib doch einfach mal, was Du da vergleichen willst und vieleicht noch warum.

@Mod

Sorry, ich will Dir hier nicht in die Parade fahren, aber vieleicht hat er oder sie ja was anderes gesucht.

:P GREETZ :P

********

* Fiesek *

********

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Fiesek

Und was war nun das genaue Problem und die richtige Lösung dazu?

Das genaue Problem war, die Anzahl der unterschiedlichen Pixel in zwei Bilddateien zu ermitteln. Das sollte mit unterschiedlichen Bitmap-Dateiformaten funktionieren. "Die" richtige Lösung dafür gibt es nicht. Was ich oben beschrieben habe, funktioniert und ist im Vergleich zu anderen möglichen Lösungen recht komfortabel, benötigt allerdings GDI+.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...