„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie bestimme ich die Bildähnlichkeit mithilfe der GD-Erweiterung von PHP?

Wie bestimme ich die Bildähnlichkeit mithilfe der GD-Erweiterung von PHP?

Veröffentlicht am 08.11.2024
Durchsuche:201

How Do I Determine Image Similarity Using PHP\'s GD Extension?

Bestimmen der Bildähnlichkeit mit der GD-Erweiterung von PHP

Der Vergleich von Bildern anhand ihres MD5-Hashs ist eine einfache und effiziente Möglichkeit, ihre Gleichheit zu bestimmen. Es kann jedoch Situationen geben, in denen Sie Bilder stattdessen visuell vergleichen möchten. Die GD-Erweiterung von PHP bietet eine Reihe von Werkzeugen zur Bildbearbeitung, einschließlich der Möglichkeit, den Unterschied zwischen zwei Bildern zu berechnen.

Bildunterschiede berechnen

Um den Unterschied zwischen zwei zu berechnen Um Bilder zu erstellen, führen Sie die folgenden Schritte aus:

  1. Laden Sie beide Bilder mit imagecreatefrompng(), imagecreatefromjpeg() oder anderen geeigneten Funktionen.
  2. Verwenden Sie imagecompare(). Es werden zwei Bilder aufgenommen und der Wert der Differenz als Prozentsatz zurückgegeben. Ein Wert nahe 0 weist auf eine hohe Ähnlichkeit hin, während ein größerer Wert auf einen größeren Unterschied hinweist.
  3. Optional können Sie bei Bedarf die Funktion imagesavealpha() verwenden, um die Transparenz beizubehalten.

Erstellen einen Zwiebelschaleneffekt

Um einen Zwiebelschaleneffekt zu erzeugen, indem Sie zwei Bilder mit 50 % Transparenz überlagern, gehen Sie folgendermaßen vor:

  1. Laden Sie beide Bilder wie oben beschrieben.
  2. Erstellen Sie ein neues Bild mit den gleichen Abmessungen wie die Originale.
  3. Kopieren Sie das erste Bild mit einer Transparenz von 50 % auf das neue Bild mit imagecopymerge().
  4. Kopieren Sie das zweites Bild auf das neue Bild, wiederum mit 50 % Transparenz, positioniert über dem ersten Bild.
  5. Speichern Sie das neue Bild mit imagepng(), imagejpeg() oder einer anderen geeigneten Funktion.

Hinweis: Die Funktion imagecompare() vergleicht den visuellen Inhalt von Bildern, nicht deren Dateimetadaten. Dies ermöglicht einen genaueren Vergleich als Hashing, insbesondere bei Bildern mit geringfügigen visuellen Unterschieden, die für das menschliche Auge möglicherweise nicht wahrnehmbar sind.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729146915 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3