"Ich habe die Bilder des Schiffes mit dem Index des Hu-Moments verglichen."
Die Hu-Moment-Invariante wurde als Index zum Vergleichen der Bilder verwendet. Image moment - Wikipedia(en)
Der Hu-Moment nimmt in Bezug auf Bilddrehung und Skalierung einen unveränderlichen Wert an. Die Implementierung ist in OpenCV enthalten, sodass Sie sie unverändert verwenden können.
Die Python-Implementierung basiert auf Folgendem. Das Lesen von Bildern ist cv2.IMREAD_GRAYSCALE. Referenz: Suche nach ähnlichen Bildern nach Hu moment invariant
Der Bildersatz wurde von @kiguchiyuras Kankore Icon Summary [Free Icon] ausgeliehen.
Schneesturm | Kumano | Donner | Den | Shigure | Shigure改二 | Oi Kai | Oi Kai二 | Z1 | Z3 | |
---|---|---|---|---|---|---|---|---|---|---|
Schneesturm | 0.00 | 12.45 | 5.78 | 5.02 | 12.63 | 12.94 | 9.07 | 9.02 | 3.94 | 4.04 |
Kumano | 12.45 | 0.00 | 8.08 | 9.76 | 0.73 | 0.94 | 3.71 | 3.72 | 9.02 | 9.29 |
Donner | 5.78 | 8.08 | 0.00 | 9.32 | 8.14 | 8.08 | 4.82 | 4.76 | 9.67 | 9.66 |
Den | 5.02 | 9.76 | 9.32 | 0.00 | 10.03 | 10.07 | 6.40 | 6.33 | 1.73 | 8.47 |
Shigure | 12.63 | 0.73 | 8.14 | 10.03 | 0.00 | 0.46 | 4.15 | 4.16 | 9.13 | 9.13 |
Shigure Kaiji | 12.94 | 0.94 | 8.08 | 10.07 | 0.46 | 0.00 | 4.54 | 4.55 | 9.53 | 9.53 |
Oi Kai | 9.07 | 3.71 | 4.82 | 6.40 | 4.15 | 4.54 | 0.00 | 0.08 | 5.53 | 12.41 |
Kaiji Oi | 9.02 | 3.72 | 4.76 | 6.33 | 4.16 | 4.55 | 0.08 | 0.00 | 5.46 | 12.40 |
Z1 | 3.94 | 9.02 | 9.67 | 1.73 | 9.13 | 9.53 | 5.53 | 5.46 | 0.00 | 7.23 |
Z3 | 4.04 | 9.29 | 9.66 | 8.47 | 9.13 | 9.53 | 12.41 | 12.40 | 7.23 | 0.00 |
Shigure und Oi sehen vor und nach dem Umbau ähnlich aus, daher ist dies sinnvoll. Auf der anderen Seite ist der Grund, warum Donner und Elektrizität sehr ähnlich aussehen, aber es gibt einen großen Unterschied, dass ich denke, dass der Unterschied in der Haarfarbe aufgegriffen wird. Der Grund, warum der größte Unterschied zwischen Shigure Kaiji und Snowstorm der gleiche sein kann. Dieses Mal lese ich das Bild in Graustufen, daher kann es etwas näher sein, wenn RGB usw. berücksichtigt werden.
Donner(Original) | Donner(Drehung) | Donner(Dialogwechsel) | Donner(Reduzierung / Randtransparenz) | Donner(Reduktion / Randfüllung) | |
---|---|---|---|---|---|
Donner(Original) | 0.00 | 0.16 | 0.29 | 0.03 | 5.88 |
Donner(Drehung) | 0.16 | 0.00 | 0.39 | 0.13 | 5.96 |
Donner(Dialogwechsel) | 0.29 | 0.39 | 0.00 | 0.31 | 5.71 |
Donner(Reduzierung / Randtransparenz) | 0.03 | 0.13 | 0.31 | 0.00 | 5.90 |
Donner(Reduktion / Randfüllung) | 5.88 | 5.96 | 5.71 | 5.90 | 0.00 |
Nur die Probe mit den mit Weiß gefüllten reduzierten Rändern wird als ein anderes Bild beurteilt. Ich wundere mich warum.
Bildquelle: Verwenden von Waifu2x zum Hochskalieren japanischer Drucke
img1.png | img2.png | |
---|---|---|
img1.png | 0.00 | 0.05 |
img2.png | 0.05 | 0.00 |
Ein Vergleich der von [waifu2x] konvertierten Bilder (http://ultraist.hatenablog.com/entry/2015/05/17/183436). Da das Originalbild das gleiche ist, ist es fast der gleiche Wert. Nebenbei bemerkt ist es John Resig (der Entwickler von jQuery), der über diese Transformation von Ukiyoe berichtet. ([Wikipedia](http://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%AC%E3% 82% B7% E3% 82% B0)))
Ich denke, dass je nach Beispiel interessantere Ergebnisse erzielt werden, daher werde ich das Ausführungsverfahren für Windows zusammenfassen. Der gleiche Vergleich kann durch Einführung von Python2, Numpy und OpenCV durchgeführt werden.
Ich habe Chocolatey als Paketverwaltungstool verwendet. Es ist wie die Windows-Version von apt-get oder yum. Software, für die das Nuget-Paket registriert ist, kann mit einem einzigen Schokoladenbefehl eingegeben und gemeinsam verwaltet werden.
Laden Sie das Installationsprogramm einfach von der offiziellen Distributionsseite (http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.9/) herunter und entpacken Sie es. Es ist sehr leicht. Diesmal habe ich 3.0.0-rc1 installiert.
Verwenden Sie schokoladig. Es gibt zwei Python2-Pakete (python2 und python2-x86_32), aber Python, das automatisch mit numpy arbeitet, das vonocolatey verteilt wird, kann mit dem folgenden Befehl installiert werden.
$ chocolatey install python2-x86_32
$ chocolatey install numpy
Cv2.pyd befindet sich in OPENCV_FILE_PATH \ opencv \ build \ python \ 2.7 \ x64 Kopieren Sie nach C: \ Python27 \ Lib \ site-packages.
sample.py
import cv2
#code
print "hoge"
Sie sollten jetzt in der Lage sein, cv2 unter Python zu verwenden. Einfach. Bitte probieren Sie verschiedene Dinge aus.
Je nach Installationsverfahren und Umgebung ist PATH möglicherweise nicht richtig eingestellt.
In diesem Fall,
C:\OPENCV_FILE_PATH\opencv-3.0.0\build\x64\vc11\bin
C:\python2-x86_32
Versuchen Sie es auf dem Weg nach.