2016-04-14 17 views
0

Ich habe mehrere Bilder aus einer Anwendung gerendert. Hier sind Beispielbilder, die zwei Bilder darstellen, die für das Auge fast gleich aussehen.Vergleichen Sie gerenderte Bilder mit imagemagick

img1 img2

Ich versuche, sie mit dem folgenden Befehl in Image Magick zu vergleichen.

compare -metric AE img1.png img2.png diff.png 
6384 

Das bedeutet 6384 Pixel unterscheiden sich, auch wenn die Bilder ähnlich sind.

Ich habe kleine Änderungen wie wenn ein Muster 1 Pixel nach rechts bewegt wird dies wird mir einen großen Fehler in der Anzahl der verschiedenen Pixel geben. Gibt es eine gute Möglichkeit, diese Art von Diff mit ImageMagick zu machen? Ich habe mit dem Fuzz-Parameter experimentiert, aber es hilft mir wirklich nicht. Ist ImageMagick nur für den Vergleich von Fotos geeignet? Gibt es bessere Umschaltungen zu ImageMagick, die einen Text erkennen können, der einige Pixel verschoben und als gleich gemeldet hat? Sollte ich ein anderes Werkzeug verwenden?

Bearbeiten: Hinzufügen eines Beispiels für ein Bild, das für einen Menschen deutlich anders aussieht und die Art von Unterschied, die ich zu unterscheiden versuche, veranschaulichen. In diesem Bild werden nicht viele Pixel geändert, aber das sichtbare Muster wird deutlich verändert.

img3

+0

Welche Art von Unterschieden möchten Sie entdecken oder erwarten? –

+0

Ein Beispiel für ein Bild hinzugefügt, das sich von einem Menschen unterscheidet. – kungjohan

Antwort

0

Es ist schwer, eine detaillierte Antwort zu geben, wie ich weiß nicht, was Sie oder erwarten suchen. Ich nehme an, Sie benötigen möglicherweise eine Art von Perceptual Hash, wenn Sie nach Bildern suchen, die Menschen als ähnlich oder unähnlich, oder vielleicht eine Skala/Rotation/Translation Invariant Technik, die ähnliche Bilder unabhängig von Größenanpassungen, Verschiebungen und Rotationen identifiziert .

Sie an den Perceptual Hash und Bild Moments mit ImageMagick könnte wie folgt aussehen:

identify -verbose -features 1 -moments 1.png 
Image: 1.png 
    Format: PNG (Portable Network Graphics) 
    Mime type: image/png 
    Class: PseudoClass 
    Geometry: 103x115+0+0 
    Resolution: 37.79x37.79 
    Print size: 2.72559x3.04313 
    Units: PixelsPerCentimeter 
    Type: Grayscale 
    Base type: Grayscale 
    Endianess: Undefined 
    Colorspace: Gray 
    Depth: 8-bit 
    Channel depth: 
    gray: 8-bit 
    Channel statistics: 
    Pixels: 11845 
    Gray: 
     min: 62 (0.243137) 
     max: 255 (1) 
     mean: 202.99 (0.79604) 
     standard deviation: 85.6322 (0.335812) 
     kurtosis: -0.920271 
     skewness: -1.0391 
     entropy: 0.840719 
    Channel moments: 
    Gray: 
     Centroid: 51.6405,57.1281 
     Ellipse Semi-Major/Minor axis: 66.5375,60.336 
     Ellipse angle: 0.117192 
     Ellipse eccentricity: 0.305293 
     Ellipse intensity: 190.641 (0.747614) 
     I1: 0.000838838 (0.213904) 
     I2: 6.69266e-09 (0.00043519) 
     I3: 3.34956e-15 (5.55403e-08) 
     I4: 5.38335e-15 (8.92633e-08) 
     I5: 2.27572e-29 (6.25692e-15) 
     I6: -4.33202e-19 (-1.83169e-09) 
     I7: -2.16323e-30 (-5.94763e-16) 
     I8: 3.96612e-20 (1.67698e-10) 
    Channel perceptual hash: 
    Red, Hue: 
     PH1: 0.669868, 11 
     PH2: 3.35965, 11 
     PH3: 7.27735, 11 
     PH4: 7.05343, 11 
     PH5: 11, 11 
     PH6: 8.746, 11 
     PH7: 11, 11 
    Green, Chroma: 
     PH1: 0.669868, 11 
     PH2: 3.35965, 11 
     PH3: 7.27735, 11 
     PH4: 7.05343, 11 
     PH5: 11, 11 
     PH6: 8.746, 11 
     PH7: 11, 11 
    Blue, Luma: 
     PH1: 0.669868, 0.669868 
     PH2: 3.35965, 3.35965 
     PH3: 7.27735, 7.27735 
     PH4: 7.05343, 7.05343 
     PH5: 11, 11 
     PH6: 8.746, 8.746 
     PH7: 11, 11 
    Channel features (horizontal, vertical, left and right diagonals, average): 
    Gray: 
     Angular Second Moment: 
     0.364846, 0.615673, 0.372224, 0.372224, 0.431242 
     Contrast: 
     0.544246, 0.0023846, 0.546612, 0.546612, 0.409963 
     Correlation: 
     -0.406263, 0.993832, -0.439964, -0.439964, -0.07309 
     Sum of Squares Variance: 
     1.19418, 1.1939, 1.19101, 1.19101, 1.19253 
     Inverse Difference Moment: 
     0.737681, 1.00758, 0.745356, 0.745356, 0.808993 
     Sum Average: 
     1.63274, 0.546074, 1.63983, 1.63983, 1.36462 
     Sum Variance: 
     4.43991, 0.938019, 4.46048, 4.46048, 3.57472 
     Sum Entropy: 
     0.143792, 0.159713, 0.143388, 0.143388, 0.14757 
     Entropy: 
     0.462204, 0.258129, 0.461828, 0.461828, 0.410997 
     Difference Variance: 
     0.0645055, 0.189604, 0.0655494, 0.0655494, 0.0963021 
     Difference Entropy: 
     0.29837, 0.003471, 0.297282, 0.297282, 0.224101 
     Information Measure of Correlation 1: 
     -0.160631, -0.971422, -0.146024, -0.146024, -0.356026 
     Information Measure of Correlation 2: 
     0.294281, 0.625514, 0.29546, 0.29546, 0.377679 

Sie gehen könnte auch auf Fred Weinhaus ausgezeichneten Website (here) und laden Sie sein Drehbuch moments aufgerufen, die Hu berechnen wird und Maitra Momente und sehen, ob diese Ihnen sagen, was Sie wollen. Grundsätzlich könnten Sie das Skript auf jedem Ihrer Bilder wie folgt ausführen:

./moments image1.png > 1.txt 
./moments image2.png > 2.txt 

und dann Ihre Lieblings diff-Tool verwenden, um zu sehen, was zwischen den beiden Bildern, die Sie wünschen, vergleichen geändert hat.

Verwandte Themen