"J'ai comparé les images du navire avec l'indice du moment Hu."
L'invariant de moment Hu a été utilisé comme indice pour comparer les images. Image moment - Wikipedia(en)
Le moment Hu prend une valeur invariante par rapport à la rotation et à la mise à l'échelle de l'image. L'implémentation est incluse dans OpenCV, vous pouvez donc l'utiliser telle quelle.
L'implémentation Python est basée sur ce qui suit. La lecture de l'image est cv2.IMREAD_GRAYSCALE. Référence: Recherche d'images similaires par Hu moment invariant
L'ensemble d'images a été emprunté à @kiguchiyura's Kankore Icon Summary [Free Icon].
Tempête de neige | Kumano | Tonnerre | Tanière | Shigure | Shigure改二 | Oi Kai | Oi Kai二 | Z1 | Z3 | |
---|---|---|---|---|---|---|---|---|---|---|
Tempête de neige | 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 |
Tonnerre | 5.78 | 8.08 | 0.00 | 9.32 | 8.14 | 8.08 | 4.82 | 4.76 | 9.67 | 9.66 |
Tanière | 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 et Oi sont similaires en apparence avant et après le remodelage, donc je suis convaincu. D'un autre côté, la raison pour laquelle le tonnerre et l'électricité se ressemblent beaucoup, mais il y a une grande différence, c'est que je pense que la différence de couleur des cheveux est détectée. La raison pour laquelle la plus grande différence entre Shigure Kaiji et Snowstorm est peut-être la même. Puisque je lis l'image en échelle de gris cette fois, cela peut être un peu plus proche si RVB etc. est pris en compte.
Tonnerre(original) | Tonnerre(rotation) | Tonnerre(Changement de dialogue) | Tonnerre(Réduction / marge transparente) | Tonnerre(Réduction / remplissage des marges) | |
---|---|---|---|---|---|
Tonnerre(original) | 0.00 | 0.16 | 0.29 | 0.03 | 5.88 |
Tonnerre(rotation) | 0.16 | 0.00 | 0.39 | 0.13 | 5.96 |
Tonnerre(Changement de dialogue) | 0.29 | 0.39 | 0.00 | 0.31 | 5.71 |
Tonnerre(Réduction / marge transparente) | 0.03 | 0.13 | 0.31 | 0.00 | 5.90 |
Tonnerre(Réduction / remplissage des marges) | 5.88 | 5.96 | 5.71 | 5.90 | 0.00 |
Seul l'échantillon avec les marges réduites remplies de blanc est considéré comme une image différente. Je me demande pourquoi.
Source de l'image: Utilisation de Waifu2x pour améliorer les impressions japonaises
img1.png | img2.png | |
---|---|---|
img1.png | 0.00 | 0.05 |
img2.png | 0.05 | 0.00 |
Une comparaison des images converties par waifu2x. Puisque l'image d'origine est la même, c'est presque la même valeur. En passant, c'est John Resig (le développeur de jQuery) qui rapporte cette transformation d'Ukiyoe. ([Wikipédia](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)))
Je pense que des résultats plus intéressants seront obtenus en fonction de l'échantillon, je vais donc résumer la procédure d'exécution pour Windows. La même comparaison peut être faite en introduisant Python2, numpy et OpenCV.
J'ai utilisé Chocolatey comme outil de gestion de paquets. C'est comme la version Windows d'apt-get ou de yum. Les logiciels pour lesquels le package Nuget est enregistré peuvent être saisis avec une seule commande chocolatée et peuvent être gérés collectivement.
Téléchargez et décompressez simplement le programme d'installation depuis la page de distribution officielle (http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.9/). C'est très facile. Cette fois, j'ai installé 3.0.0-rc1.
Utilisez du chocolat. Il existe deux packages Python2 (python2 et python2-x86_32), mais Python qui fonctionne automatiquement avec numpy distribué par chocolatey peut être installé à partir de la commande suivante.
$ chocolatey install python2-x86_32
$ chocolatey install numpy
Cv2.pyd situé dans OPENCV_FILE_PATH \ opencv \ build \ python \ 2.7 \ x64 Copiez dans C: \ Python27 \ Lib \ site-packages.
sample.py
import cv2
#code
print "hoge"
Vous devriez maintenant pouvoir utiliser cv2 sur Python. Facile. Veuillez essayer différentes choses.
Selon la procédure d'installation et l'environnement, PATH peut ne pas être défini correctement.
Dans ce cas,
C:\OPENCV_FILE_PATH\opencv-3.0.0\build\x64\vc11\bin
C:\python2-x86_32
Essayez à travers le chemin vers.