[PYTHON] Ich habe versucht, Objekte aus dem Bild des Steak-Sets zu sortieren

Einführung

Weiter von Ich habe versucht, Objekte aus den Bildern der Steak-Set-Mahlzeiten-ähnlichen Bilderkennung zu sortieren habe ich diesmal versucht, die Bilder im Vergleich zum Histogramm zu gruppieren. Es war.

Quellcode

grouping_image.py


image_dir = "{Verzeichnispfad}"
    target_files = os.listdir(image_dir)
    files = os.listdir(image_dir)

    group_images = {}

    for target_file in target_files:
        if target_file == '.DS_Store':
            continue

        #Laden Sie die Bilddatei.
        target_image_path = image_dir + target_file
        target_image = cv2.imread(target_image_path)

        #Generieren Sie Histogrammdaten.
        target_hist = cv2.calcHist([target_image], [0], None, [256], [0, 256])

        similarity_images = {}

        for file in files:
            if file == '.DS_Store' or file == target_file:
                continue

            #Laden Sie die Bilddatei.
            comparing_image_path = image_dir + file
            comparing_image = cv2.imread(comparing_image_path)

            #Generieren Sie Histogrammdaten.
            comparing_hist = cv2.calcHist([comparing_image], [0], None, [256], [0, 256])

            #Vergleichen Sie die Histogramme, um die Ähnlichkeit der Bilder zu berechnen.
            ret = cv2.compareHist(target_hist, comparing_hist, 0)

            #Konvertiert das Ergebnis in probabilistische Notation.
            probability = ret * 100

            #Gibt die Ähnlichkeit aus.
            # print("target file: " + target_file, "file: " + file, "similarity: " + str(probability) + "%")

            #Die Ähnlichkeit beträgt 90%Gruppieren Sie nur die oben genannten.
            if probability > 90:
                if len(target_file) not in group_images:
                    group_images[target_file] = {}

                similarity_images[len(similarity_images)] = file
                group_images[target_file].update(similarity_images)

    #Gruppieren Sie ähnliche Bilder.
    similarity_group = {}

    for target_images in group_images:
        similarity_image = {}
        count = 0

        #Suchen Sie nach Bildern, die bereits gruppiert sind.
        if is_distinct_image(similarity_group, target_images):
            for similarity_images in group_images:
                if target_images != similarity_images:
                    distinct_images = {v:k for k, v in group_images[similarity_images].items()}

                    if target_images in distinct_images:
                        similarity_image[count] = similarity_images
                        count = count + 1

                        if target_images not in similarity_group:
                            similarity_group[target_images] = {}

                        similarity_group[target_images].update(similarity_image)

    #Gibt das Gruppierungsergebnis aus.
    for file in similarity_group:
        print file, similarity_group[file]

#Wenn es gruppiert ist, wird False zurückgegeben.
def is_distinct_image(similarity_group, target_images):
    for images in similarity_group:
        distinct_images = {v:k for k, v in similarity_group[images].items()}

        if target_images in distinct_images:
            return False

    return True

Ergebnis

634.jpg {0: '632.jpg', 1: '657.jpg'}
575.jpg {0: '603.jpg', 1: '581.jpg', 2: '659.jpg', 3: '758.jpg', 4: '754.jpg', 5: '629.jpg'}
932.jpg {0: '799.jpg', 1: '659.jpg', 2: '815.jpg', 3: '492.jpg', 4: '921.jpg', 5: '658.jpg', 6: '920.jpg', 7: '974.jpg', 8: '629.jpg', 9: '1018.jpg', 10: '806.jpg', 11: '972.jpg'}
547.jpg {0: '559.jpg', 1: '463.jpg'}
480.jpg {0: '432.jpg'}
389.jpg {0: '432.jpg', 1: '250.jpg', 2: '369.jpg'}

Einzelheiten

Es wurde in 6 Typen eingeteilt. Die folgenden zwei Gruppen wurden in diejenigen unterteilt, die erfolgreich waren und nehmen wollten.

Taragruppe

634.jpg 634.jpg

632.jpg 632.jpg

Reisgruppe

575.jpg 575.jpg

603.jpg 603.jpg

Impressionen

Darüber hinaus wurden Gurken, Misosuppe und Süßwaren erschwert. Vielleicht liegt der Grund darin, dass ein Bild des gesamten gegrillten Fleischgerichts übertragen wird, und ich denke, dass es davon gezogen wird.

Alle Seitenlinks

Recommended Posts

Ich habe versucht, Objekte aus dem Bild des Steak-Sets zu sortieren
Ich habe versucht, die Objekte aus dem Bild des Steak-Sets zu sortieren. ① Objekterkennung
Ich habe versucht, die Objekte aus dem Bild des Steak-Sets zu sortieren. ② Sortieren der Überlappungsnummern
Ich habe versucht, die Objekte aus dem Bild des Steak-Sets zu sortieren. ⑤ Ähnliche Erkennung von Bildmerkmalen
Ich habe versucht, ein Standbild aus dem Video auszuschneiden
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ich habe versucht, Iris aus dem Kamerabild zu erkennen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren
Ich habe versucht, den Bildfilter von OpenCV zu verwenden
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
Ich habe versucht, die Gesichtsverdeckungsarbeit des Koordinationsbildes für das Tragen zu automatisieren
Ich habe versucht, die Anzahl der mit dem Coronavirus infizierten Personen unter Berücksichtigung der Auswirkung des Verzichts auf das Ausgehen vorherzusagen
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Ich habe versucht, die Spacha-Informationen von VTuber zu visualisieren
Ich habe versucht, den negativen Teil von Meros zu löschen
Ich habe versucht, die Stimmen der Sprecher zu klassifizieren
Ich habe versucht, das Bild mithilfe von maschinellem Lernen zu komprimieren
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, den Text in der Bilddatei mit Tesseract der OCR-Engine zu extrahieren
Ich habe versucht, die Umrisse von Big Gorilla herauszufinden
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
[Maschinelles Lernen] Ich habe versucht, die Theorie von Adaboost zusammenzufassen
Ich habe versucht, das lokale Minimum der Goldstein-Preis-Funktion zu bekämpfen
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, verschiedene Informationen von der Codeforces-API abzurufen
Ich habe versucht, das Musikgenre anhand des Songtitels im Recurrent Neural Network vorherzusagen
Ich habe versucht, mit PI Fu aus einem Bild ein 3D-Modell einer Person zu erstellen
Ich habe versucht, den Trend der Anzahl der Schiffe in der Bucht von Tokio anhand von Satellitenbildern zu ermitteln.
[Linux] Ich habe versucht, die Ressourcenbestätigungsbefehle zusammenzufassen
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Ich habe versucht, die häufig verwendete Implementierungsmethode von pytest-mock zusammenzufassen
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe versucht, den allgemeinen Zustand der VTuber-Kanalbetrachter zu visualisieren
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
[Python] Ich habe versucht, das Fluchtprogramm zu reproduzieren, um aus der Welt zurückzukehren und aus der modifizierten Welt von "Das Verschwinden von Haruhi Suzumiya" zurückzukehren.
Ich habe versucht, E-Mails von Node.js und Python mithilfe des E-Mail-Zustelldienstes (SendGrid) von IBM Cloud zuzustellen!
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.
Ich habe versucht, das Bild durch Klicken mit der rechten und linken Maustaste in den angegebenen Ordner zu verschieben
Ich habe versucht, die Altersgruppe und die Ratenverteilung von Atcoder zu visualisieren
Ich habe versucht, die Beispielnachrichten zur Geschäftsintegration in Amazon Transcribe zu übertragen
Ich habe versucht, die Vorhersage-API des maschinellen Lernmodells von WordPress aus aufzurufen
zoom Ich habe versucht, den Grad der Aufregung der Geschichte auf der Konferenz zu quantifizieren
Ich habe versucht, die Ähnlichkeit der Frageabsicht mit Doc2Vec von gensim abzuschätzen
Ich habe versucht, die Genauigkeit meines eigenen neuronalen Netzwerks zu verbessern