3 Stimmen

Algorithmus für die Suche nach einem Bild in einem anderen Bild. (Collage)

Ist das überhaupt möglich? Ich habe ein riesiges Bild, 80 MB, mit vielen kleinen Bildern. Sie sind auch noch gekippt und gedreht. Wie kann ich mit Programmierung nach einem Bild suchen? Ich weiß, wie man Java und C++ benutzt. Wie würden Sie das anstellen?

4voto

Jerry Coffin Punkte 452852

Sie sollten sich über den Scale Invariant Feature Transform (SIFT)-Algorithmus informieren. Er wird zum Beispiel in einer ganzen Reihe von Programmen zur automatischen Erstellung von Panoramen verwendet, um die Teile von Bildern zu erkennen, die trotz unterschiedlicher Skalierung, Neigung, Schwenkung usw. übereinstimmen.

Edit: Das stimmt - es ist patentiert, und ich hätte das wahrscheinlich gleich zu Beginn erwähnen sollen. Falls es jemanden interessiert, es ist das US-Patent # 6,711,293 .

3voto

Wesley Punkte 10357

Ein Algorithmus, den ich bereits verwendet habe, ist SIFT . Wenn Sie daran interessiert sind, den Algorithmus selbst zu implementieren, können Sie sich Kursnotizen für CPSC 425 an der UBC die in aller Ausführlichkeit beschreibt, wie SIFT in MATLAB implementiert wird. Wenn Sie einfach nur Code benötigen, der diese Aufgabe erfüllt, schauen Sie sich Folgendes an VLFeat , eine C-Bibliothek, die SIFT und eine Reihe anderer Algorithmen verwendet.


Angebot von Jerry Coffin:

Edit: Das stimmt - es ist patentiert, und ich hätte das wahrscheinlich gleich zu Beginn erwähnen sollen. Falls es jemanden interessiert, es ist das US-Patent # 6,711,293 .

2voto

Chad Okere Punkte 4532

Wie viel wissen Sie über das Bild? Wie genau sieht es aus? Haben Sie eine Kopie des Bildes und müssen Sie nur herausfinden, wo im großen Bild es ist?

Der Zweig der Informatik, der sich mit dieser Art von Fragen beschäftigt, heißt jedenfalls Computer Vision .

Lebenslauf öffnen y TINA sind zwei Open-Source-Bibliotheken, die Sie möglicherweise verwenden können.

1voto

ldog Punkte 10975

Sie sollten wahrscheinlich mit den einfachsten Ideen beginnen und sehen, ob sie für Ihre Bedürfnisse ausreichend sind. Auf dem Gebiet des Musterabgleichs ist die einfachste Idee die der Vorlagenabgleich . Eine effiziente Implementierung des Vorlagenabgleichs findet sich in OpenCv .

Beachten Sie, dass der Vorlagenabgleich eine Rotationsvariante ist, d. h., wenn die Vorlage, die Sie abgleichen möchten, in dem Bild, in dem Sie sie zu finden versuchen, gedreht werden kann, wird es nicht funktionieren, es sei denn, Sie drehen die Vorlagen vorher.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X