[PYTHON] Visualisez le statut d'appréciation des œuvres d'art avec OpenCV

Aperçu

スクリーンショット 2020-10-01 9.18.26.png Il semble qu'il ait été installé et exploité dans l'installation de soutien aux startups FGN (https://growth-next.com) à Fukuoka City. スクリーンショット 2020-10-01 9.24.23.png IMG_4946.jpeg IMG_4945.jpeg

Quoi préparer

Préparation

la programmation

detect_face_camera.py


import sys

sys.path.append('/home/pi/.local/lib/python2.7/site-packages')

import numpy as np

import cv2

import time

import datetime

import ambient

args = sys.argv

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

cap = cv2.VideoCapture(0)

flg = 0

stime =  0

am = ambient.Ambient(xxxx, 'xxxxxxxxxxxxxxxx')  #ID de canal ambiant/Touche lumière(Nombre de visites / durée du séjour)

am2 = ambient.Ambient(xxxx, 'xxxxxxxxxxxxxxxx')  #ID de canal ambiant/Touche lumière(Température du CPU)

acnt = 0

while(True):

    t3 = time.time()

    cnt = 0

    ret, frame = cap.read()

    #Obtenez la hauteur et la largeur de l'image chargée

    height = frame.shape[0]

    width = frame.shape[1]

    import sys

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    for (x,y,w,h) in faces:

        t1 = time.time()

        cv2.rectangle(frame,(x,y),(x+w,y+h),(152,145,234),2)

        roi_gray = gray[y:y+h, x:x+w]

        roi_color = frame[y:y+h, x:x+w]

        eyes = eye_cascade.detectMultiScale(roi_gray)

        cnt += 1

        for (ex,ey,ew,eh) in eyes:

            cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(108,97,232),2)

        t2 = time.time()

        stime += (t2 - t1) * 1000 / 60

        acnt = acnt + cnt

    cv2.putText(frame, 'count: ' + str(acnt / 100), (10, 420), cv2.FONT_HERSHEY_DUPLEX, 1.0, (0,255,0), thickness=2)

    cv2.putText(frame, 'stay[sec]: ' + str('{:.1f}'.format(stime)), (10, 460), cv2.FONT_HERSHEY_DUPLEX, 1.0, (0,255,0), thickness=2)

    cv2.putText(frame, 'senseart v.0.0.1b', (410, 20), cv2.FONT_HERSHEY_PLAIN, 1.5, (0,255,0), thickness=2)

    resized_img = cv2.resize(frame,(width*2, height*2))

    cv2.imshow('senceart (v.0.0.1 beta)', resized_img)

    if cv2.waitKey(1) & 0xFF == ord('q'):

        break

    t4 = time.time()

    f = open("/sys/class/thermal/thermal_zone0/temp","r")  #Température du CPU

    for t in f:

        tmp = t[:2]+"."+t[2:5]

    f.close()

    fps = cap.get(cv2.CAP_PROP_FPS)

    now = datetime.datetime.now() 

    minute = '{0:%M}'.format(now)

    second = '{0:%S}'.format(now)

    print('count', acnt / 100)

    print('stay', stime)

    print("minute", minute)

    print("second", second)

    print("temp", tmp)

    print("\n")

    if int(minute) % 5 == 0 and int(second) == 0:

        r = am.send({'d1': acnt / 100, 'd2': stime})  #Envoyer les visites et la durée du séjour à Ambient

        r = am2.send({'d1': tmp})  #Envoyer la température du processeur à la température ambiante

        r.close()
        acnt = 0

        cnt = 0

        print("******************sended*****************\n")

        continue

    if int(minute) % 10 == 0 and int(second) == 0:

        r = am.send({'d1': acnt / 100, 'd2': stime})  #Envoyer les visites et la durée du séjour à Ambient

        r = am2.send({'d1': tmp})  #Envoyer la température du processeur à la température ambiante

        r.close()

        acnt = 0

        cnt = 0

        print("******************sended*****************\n")

        continue

cap.release()

senceart.sh


#! /bin/bash
cd /home/pi/opencv_programs/
sudo python3 detect_face_camera.py

point important

Essayez d'utiliser

Recommended Posts

Visualisez le statut d'appréciation des œuvres d'art avec OpenCV
Visualisez l'état de la réponse du recensement national 2020
Visualisez le comportement de l'algorithme de tri avec matplotlib
Visualisez la gamme d'insertions internes et externes avec python
Visualisez le vocabulaire caractéristique d'un document avec D3.js
Obtenez l'état de fonctionnement de JR West avec Python
Visualisez la trajectoire de Hayabusa 2
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
Vérifiez l'état de la mémoire du serveur avec la commande gratuite Linux
Vérifiez l'état de fonctionnement du serveur avec la commande Linux top
L'histoire de l'affichage d'images avec OpenCV ou PIL (uniquement)
Visualisez le flux des tweets avec Diamond + Graphite + Grafana
Estimer la posture du marqueur AR avec Python + OpenCV + drone
L'extraction de couleur avec Python + OpenCV a résolu le mystère du fond vert
Trouver les erreurs les plus simples avec OpenCV
Comment surveiller l'état d'exécution de sqlldr avec la commande pv
Visualisez la fréquence des occurrences de mots dans les phrases avec Word Cloud. [Python]
Je veux vérifier la position de mon visage avec OpenCV!
Essayez de brouiller l'image avec opencv2
Etude de base d'OpenCV avec Python
Comment couper la partie inférieure droite de l'image avec Python OpenCV
Lisez l'image du graphique avec OpenCV et obtenez les coordonnées du point final du graphique
Afficher le statut de l'infection COVID 19 au Japon avec Splunk (version GitHub)
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
Obtenez et estimez la forme de la tête en utilisant Dlib et OpenCV avec python
Essayez de séparer l'arrière-plan et l'objet en mouvement de la vidéo avec OpenCV
Cv2.imshow fonctionne désormais correctement avec OpenCV3 de Homebrew
Alignez la taille de la barre de couleurs avec matplotlib
Visualisez la valeur limite du perceptron multicouche
Vérifier l'existence du fichier avec python
Essayez d'utiliser l'appareil photo avec OpenCV de Python
Visualisez les effets de l'apprentissage profond / de la régularisation
La troisième nuit de la boucle avec pour
Visualisez les données d'exportation du journal Piyo
Compter le nombre de caractères avec écho
Je souhaite visualiser l'état des transferts de la J League 2020, que dois-je faire?
J'ai essayé de visualiser facilement les tweets de JAWS DAYS 2017 avec Python + ELK
Informer périodiquement l'état de traitement de Raspberry Pi avec python → Google Spreadsheet → LINE
[Nouvelle fonction PyCharm 5.0] Visualiser et déboguer l'état d'exécution du thread de async / await
J'ai essayé de "lisser" l'image avec Python + OpenCV
L'histoire de l'apprentissage profond avec TPU
Vérifiez le fonctionnement d'OpenCV3 installé par Anaconda
Remarque: préparez l'environnement de CmdStanPy avec docker
Préparer l'environnement d'exécution de Python3 avec Docker
Comparaison des performances du détecteur de visage avec Python + OpenCV
Mathématiques Todai 2016 résolues avec Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
[Note] Exportez le html du site avec python.
Visualisez la couche interne du réseau neuronal
Augmentez la taille de la police du graphique avec matplotlib
Visualisons l'état de l'infection par le virus corona avec Plotly [pour les débutants]
Calculez le nombre total de combinaisons avec python
Éliminez les inconvénients du widget QDock avec PySide
Défiez la tour de Hanoi avec recurs + stack
Renommer la balise avec un espace de noms en lxml
J'ai essayé de "binariser" l'image avec Python + OpenCV
Le moyen le plus simple d'utiliser OpenCV avec python
Remplissez la largeur du bloc-notes Jupyter pour remplir le navigateur