Adventskalender für Fujitsu Systems Web Technology 2019 Veröffentlicht am 16. Tag. Der Inhalt des Artikels ist die persönliche Meinung, und der Inhalt des Schreibens liegt in der eigenen Verantwortung des Autors. Es spielt keine Rolle, zu welcher Organisation Sie gehören.
Diesmal am 16. Tag bin ich mit der Tatsache vertraut, dass ich die Fehlersuche nach Saiseria nie alleine abgeschlossen habe.
** Ein Programm, das den Unterschied zwischen zwei Bildern erkennen und auf leicht verständliche Weise anzeigen kann **
Ich würde gerne darüber schreiben, wie man macht
(Es gibt keine Garantie, aber wenn Sie Python und verschiedene Bibliotheken verwenden können, funktioniert es normal. Schauen Sie also einfach mal rein.)
(Die detaillierte Installationsmethode lautet '[jupyter-Installation des Anaconda-Navigators](https://www.google.com/search?q=anaconda+navigator+jupyter+%E3%82%A4%E3%83%B3%E3%82%B9 % E3% 83% 88% E3% 83% BC% E3% 83% AB) 'Ich denke, dass verschiedene Dinge herauskommen werden.)
Hier ist der eigentliche Inhalt der Quelle.
Es gibt drei Hauptteile
Und die Maus
import cv2, matplotlib
import numpy as np
from IPython.display import Image, display_png
#Originalbild 1
img_01 = "sample1.png "
#Originalbild 2
img_02 = "sample2.png "
#Bitte geben Sie den Namen ein, den Sie dem Ausgabebild geben möchten
outImg = "output.png "
#Lesen Sie das Originalbild 1 in Farbe
img_src01 = cv2.imread(img_01, 1)
#Lesen Sie das Originalbild 2 in Farbe
img_src02 = cv2.imread(img_02, 1)
#Gemischte Normalverteilung(Gaussian Mixture)Es scheint sich um einen Algorithmus zur Aufteilung des Vordergrund- / Hintergrundbereichs zu handeln.
bg = cv2.bgsegm.createBackgroundSubtractorMOG()
#Maskenbild erzeugen
mask = bg.apply(img_src01)
mask = bg.apply(img_src02)
#Ausgabemaskenbild
cv2.imwrite("output/machigai_mask.png ", mask)
print("Originalbild 1")
display_png(Image(img_01))
print("Originalbild 2")
display_png(Image(img_02))
print("Maskenbild")
display_png(Image("output/machigai_mask.png "))
Das Ausgabeergebnis hier ist wie folgt.
mask_img = cv2.imread("output/machigai_mask.png ", 1)
#Ersetzen Sie den weißen Teil des Bildes durch Rot
red = [240, 20, 20]
white = [255, 255, 255]
mask_img[np.where((mask_img == white).all(axis=2))] = red
# BGR to RGB
mask_img = cv2.cvtColor(mask_img, cv2.COLOR_BGR2RGB)
#Speichern Sie das Ergebnis.
cv2.imwrite("output/color_mask_img.png ", mask_img)
color_mask_img = cv2.imread("output/color_mask_img.png ", 1)
display_png(Image("output/color_mask_img.png "))
Das Ausgabeergebnis hier ist wie folgt.
Wenn Sie dies am Ende tun können, wird es abgeschlossen.
# src1 =Originalbild 1, src2=Maskenbild, Alpha(beta) =Es scheint gut zu sein, es auf ein Verhältnis von insgesamt 1, Gamma, einzustellen=Es fühlte sich gut an, als es 0 war
diff_image = cv2.addWeighted(src1=img_src01,alpha=0.3,src2=color_mask_img,beta=0.7,gamma=0)
cv2.imwrite(outImg, diff_image)
display_png(Image(outImg))
Ja, es ist geschafft
Aus diesem Grund habe ich nach Fehlern gesucht und sie gemacht. Bitte versuchen Sie es zuerst selbst (es gibt 6 Fehler)
Hast du den Fehler gefunden?
Schauen wir uns als nächstes die Ergebnisse der vollautomatischen Eierbrechmaschine an, die vom Fehlersucher gelöst wurde.
es ist hier
Wie ist das? Es ist eine großartige richtige Antwortrate.
Die Erkennungsgenauigkeit von **, dass die Perücke des Lehrers in Wassermelone ** geändert wurde, ist jedoch nicht sehr gut.
In erster Linie ist diese Hintergrunddifferenzmethode Dies ist eine Methode zum Erkennen von sich bewegenden Objekten auf einem bewegten Bild.
Zusamenfassend
Mit einer Festkommakamera ** Ah, Leute kamen vorbei ** Es ist eine Möglichkeit, so etwas zu beurteilen
Es gibt zwei Hauptprobleme bei der Verwendung dieser Hintergrunddifferenzmethode zum Auffinden von Fehlern.
Wenn Sie also versuchen, etwas herzustellen, das für allgemeine Zwecke verwendet werden kann,
Ich habe das Gefühl, ich muss solche Software machen ()
Lassen Sie uns unser Bestes tun, um diese Software das nächste Mal zu erstellen (weiße Augen)
Recommended Posts