[PYTHON] Ich habe versucht, Discord Bot und Gesichtserkennung für LT zu kombinieren.

Einführung

Materialien für die Präsentation bei LT

Ich habe versucht, die bisherige Gesichtserkennung (OpenCV) in einen Bot zu verwandeln

Die Artikelbeschreibung lautet wie folgt

Warum Zwietracht?

** Irgendwie! ** ** **

Bis jetzt habe ich es schon mit Slack Bot geschafft.

Aber ich frage mich, ob LINE Bot auch ...

Das ist richtig, ** Discord kann Bots machen, oder? ?? ?? ** ** **

Ich habe Discord Bot recherchiert

Offiziell (discord.py)

Es sieht lustig aus, also habe ich es geschafft ☆

So erstellen Sie einen Discord-Bot wurde neulich aktualisiert. (Es ist ein bisschen rau ...)

Modul, Verzeichnisstruktur usw.

Modul

Was Sie brauchen, ist wie folgt Installieren Sie, was Sie brauchen!

pip install discord       #Wird verwendet, wenn Sie verschiedene Dinge mit Zwietracht tun möchten
pip install opencv-python #Erforderlich bei Verwendung von OpenCV-Funktionen (wird mit cv2 unter Python verwendet)
pip install os            #Sie können Funktionen verwenden, die vom Betriebssystem abhängen
pip install requests      #Wird für die HTTP-Kommunikation verwendet
pip install shutil        #Manipulation von Dateien und Dateisammlungen auf hoher Ebene

Verzeichnisaufbau

Die Verzeichnisstruktur ist wie folgt

-- dis_test
   -- cascade
      -- haarcascade_frontalface_alt.xml
   -- img
   -- dis.py

Gesichtslerndaten sind hier Ich benutzte.

Discord Bot

Programm

dis_bot.py


# coding:utf-8

import discord
import time
import requests
import shutil
import cv2
import os

# from scripts.photo_processing import PhotoProcessing

IMG_PATH = "./img/"
IMG_SIZE = (128, 128)

FACE_CASCADE_PATH = "./cascade/haarcascade_frontalface_alt.xml"
FACE_CASCADE = cv2.CascadeClassifier(FACE_CASCADE_PATH)
TOKEN = "TOKEN ID"
client = discord.Client()

now_time = time.time()
times = time.gmtime(now_time)

#Bot-Startverarbeitung
@client.event
async def on_ready():
    channel = client.get_channel(Kanal ID)
    await channel.send("Hallo! wie gehts?")

#Beim Empfang einer Nachricht
@client.event
async def on_message(message):
    #Ignorieren Sie, wenn der Absender ein Bot ist
    if message.author.bot:
        return
    
    if message.content.startswith('trim') and len(message.attachments) != 0:
        channel_id = message.channel.id
        url = message.attachments[0].url
        file_name = url.rsplit("/", 1)[1]

        #Bild speichern
        rst = requests.get(url, stream = True)

        open_file = open(IMG_PATH + file_name, "wb")
        shutil.copyfileobj(rst.raw, open_file)
        open_file.close()

        #Bildprüfung
        img_file = cv2.imread(IMG_PATH + file_name, cv2.IMREAD_COLOR)

        # processing
        gray_file = cv2.cvtColor(img_file, cv2.COLOR_BGR2GRAY)
        front_face_list = FACE_CASCADE.detectMultiScale(gray_file, minSize=(50, 50), minNeighbors=3)

        if len(front_face_list) > 0:
            # trimming
            for (x, y, width, height) in front_face_list:

                trim_file = img_file[y:y+height, x:x+width]
                trim_file = cv2.resize(trim_file, IMG_SIZE)

                cv2.imwrite("{0}trim_{1}".format(IMG_PATH, file_name), trim_file)

                await message.channel.send('', file=discord.File("{0}trim_{1}".format(IMG_PATH, file_name)))
        else:
            await message.channel.send("Das Gesicht wurde nicht authentifiziert.")

        #Lösche Bild
        os.remove(IMG_PATH + file_name)
        os.remove("{0}trim_{1}".format(IMG_PATH, file_name))

client.run(TOKEN)

Ausgabeergebnis Befehlszeile trim1.PNG

Es erkennt das Gesicht richtig und schneidet es trim.PNG

Natürlich können mehrere Personen trimmen trim2.PNG

Es scheint, dass das zugeschnittene Bild als Symbol verwendet werden kann! (Ich benutze es nicht) Das ist alles für Discord Bot x Gesichtserkennung (˘ω˘)

Recommended Posts

Ich habe versucht, Discord Bot und Gesichtserkennung für LT zu kombinieren.
Ich habe versucht, Linux mit Discord Bot zu betreiben
Ich habe DCGAN implementiert und versucht, Äpfel zu generieren
Ich habe versucht, die Daten mit Zwietracht zu speichern
[Einführung in PID] Ich habe versucht, ♬ zu steuern und zu spielen
Ich habe versucht, einen Übersetzungs-BOT zu erstellen, der mit Discord unter Verwendung von Googletrans funktioniert
Ich habe versucht zu debuggen.
Ich habe versucht, mit VOICEROID2 2 automatisch zu lesen und zu speichern
Ich habe versucht, DCGAN mit PyTorch zu implementieren und zu lernen
Ich habe versucht, CPython ein Post-Inkrement hinzuzufügen. Übersicht und Zusammenfassung
Ich habe versucht, mit VOICEROID2 automatisch zu lesen und zu speichern
Ich habe versucht, Linux Systemaufrufe und Scheduler hinzuzufügen
Ich habe versucht, Grad-CAM mit Keras und Tensorflow zu implementieren
Ich habe versucht, Scrapy auf Anaconda zu installieren und konnte es nicht
Ich habe versucht, Überlebende der Titanic mit Kaggle vorherzusagen und einzureichen
Ich habe versucht, PredNet zu lernen
Ich habe zwei Möglichkeiten ausprobiert, um mehrere Commits mit Git zu kombinieren
Ich habe versucht, SVM zu organisieren.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.
Ich habe versucht, PCANet zu implementieren
Ich habe versucht, die Zeit und die Zeit der C-Sprache zu veranschaulichen
Ich habe versucht, die Uhrzeit und das heutige Wetter anzuzeigen
[Einführung in das Modell der Infektionskrankheiten] Ich habe versucht, zu passen und zu spielen ♬
Ich habe versucht, Linux wieder einzuführen
Ich habe versucht, Pylint vorzustellen
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Ich habe versucht, einen Bot für die Ankündigung eines Wiire-Ereignisses zu erstellen
Ich habe versucht, SparseMatrix zusammenzufassen
Ich habe einen Zwietrachtbot gemacht
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
jupyter ich habe es berührt
Ich habe versucht, StarGAN (1) zu implementieren.
Ich habe versucht, die Lesezeichen zu visualisieren, die mit Doc2Vec und PCA nach Slack fliegen
Ich habe versucht, Pepper über Ereignisinformationen und Mitgliederinformationen sprechen zu lassen
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich habe versucht, Gesichtsmarkierungen mit Python und Dlib leicht zu erkennen
Ich habe versucht, Spieler- und Fertigkeitsnamen aus Sportartikeln zu extrahieren
Ich habe versucht, Deep VQE zu implementieren
Ich habe versucht, eine Quip-API zu erstellen
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, eine kontroverse Validierung zu implementieren
Ich habe versucht, Pytorchs Datensatz zu erklären
Ich habe Watson Voice Authentication (Speech to Text) ausprobiert.
Ich habe Teslas API berührt
Ich habe versucht, das Gesicht mit MTCNN zu erkennen
Ich habe versucht, mich über MCMC zu organisieren.
Ich habe versucht, Realness GAN zu implementieren
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, das Gesicht mit OpenCV zu erkennen
Ich habe versucht, den Abschnitt zu schätzen.
Ich versuchte zusammenzufassen, bis ich die Bank verließ und Ingenieur wurde
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, eine Gesichtsdiagnose-KI für professionelle Golferinnen zu erstellen ①
Ich versuchte, Trauer und Freude über das Problem der stabilen Ehe auszudrücken.