[Python] Berechnen Sie den Durchschnittswert des Pixelwerts RGB des Objekts

1. Übersicht

Dieses Mal werden wir den Prozess der Ausgabe des Durchschnittswerts des Pixelwerts RGB des Objekts in eine CSV-Datei einführen. apple_introduction.jpg

Ich möchte den durchschnittlichen Pixelwert eines Bildes eines Objekts wie eines Apfels ermitteln! Sie können es zu diesem Zeitpunkt verwenden. Wie dieser Prozess aufgebaut wurde, können Sie in einem Artikel nachlesen, den ich zuvor in Qiita gepostet habe. ↓ [[Python] Klassifizieren Sie Äpfel und Birnen aus Pixelwerten mit einer Support Vector Machine (SVM)] [0] [0]:https://qiita.com/ZESSU/items/3083ce23e0405565765d Dieser Prozess wird verwendet, um die Vorverarbeitung des in diesem Artikel beschriebenen Verfahrens "Ermitteln des Durchschnittswerts der RGB-Pixelwerte für jedes Apfel- und Birnenbild" durchzuführen.

Die einzige Information, die für diesen Prozess benötigt wird, ist ein Bild, das das Objekt zeigt. Wenn der Hintergrund jedoch enthalten ist, kann er nicht korrekt berechnet werden. Verwenden Sie daher eine App wie Paint, um nur das Objekt sauber zu schneiden, wie in der folgenden Abbildung dargestellt. apple_image.jpg

2. Umwelt

Da openCV für die Bildverarbeitung und Pandas als Datenrahmen verwendet wird, installieren Sie diese Bibliotheken bitte im Voraus.

pip install opencv-python
pip install pandas

3. Code

Der Code ist hier. Da openCV verwendet wird, erfolgt die Ausgabe als Einschränkung in der Größenordnung von BGR und nicht von RGB.

bgr_csv.py


import cv2
import numpy as np
import pandas as pd

idir = 'input/'
odir = 'output/'
fname='apple'
num_photo=10
bgr = np.zeros((num_photo,3))

for k in range(num_photo):

    img = cv2.imread(idir + fname + '_' + str(k+1) + '.jpg')  #Beginnen Sie mit Nummer 1
    print(idir + fname + '_' + str(k+1) + '.jpg')
    h, w, c = img.shape #height, width, channnel

    #Initialisieren
    l=0
    b_ave=0; g_ave=0; r_ave=0

    for i in range(h):
        for j in range(w):
            #Pixelwert[0,0,0](Black)を除外してピクセルの和とbgrのPixelwertの合計を計算する
            if(img[i,j,0] != 0 or img[i,j,1] != 0 or img[i,j,2] != 0 ):
                l+=1    #Berechnen Sie die Anzahl der interessierenden Pixel
                #Berechnen Sie die Summe der Pixelwerte der Zielpixel
                b_ave=b_ave+img[i,j,0]
                g_ave=g_ave+img[i,j,1]
                r_ave=r_ave+img[i,j,2]

    #Berechnen Sie den Durchschnittswert der RGB-Pixelwerte, indem Sie die Gesamtpixelwerte durch die Anzahl der Pixel dividieren.
    b_ave=b_ave/l
    g_ave=g_ave/l
    r_ave=r_ave/l

    bgr[k]=np.array([b_ave, g_ave, r_ave])

df = pd.DataFrame(bgr, columns=['blue', 'green', 'red'])    #Match mit OpenCV-Bestellung Quasi-BGR
df.to_csv(odir + fname + '.csv')

Zum Beispiel ...

fname='apple'
num_photo=1

Im Fall von wird der Durchschnittswert jedes Pixelwerts von nur einer Datei von "input / apple_1.jpg " als "output / apple.csv" ausgegeben.

4. Ergebnis

Nach der Verarbeitung der Bilder von 10 Äpfeln wird die Datei apple.csv mit dem Durchschnittswert von 10 BGR-Bildern wie unten gezeigt ausgegeben.

apple.csv


,blue,green,red
0,39.88469583593901,28.743374377331637,137.23369201906283
1,83.72563703792319,79.59471228615863,164.77884914463453
2,66.8231805177587,74.52501570023027,141.8854929872305
3,55.2837418388098,45.28968211495237,148.4160869099861
4,37.59397951454073,49.82323881039423,137.30237460066527
5,53.68868757437335,50.963264366051206,142.6121454070861
6,51.277953772145956,64.07145371348116,152.98116860260473
7,50.47702848900108,48.37151099891814,124.46714749368914
8,40.35442093843233,52.0682126390019,137.8299091402224
9,48.18758094199441,55.87655919841865,145.6361529548088

Wie in der Übersicht beschrieben, verwenden Sie die von diesem Code ausgegebene CSV-Datei für Apfel und Birne ↓ [[Python] Klassifizieren Sie Äpfel und Birnen anhand einer Pixel mit einer Support Vector Machine (SVM) aus Pixelwerten.] [1] [1]:https://qiita.com/ZESSU/items/3083ce23e0405565765d Ich mache. Bitte lesen Sie auch diesen Artikel!

Recommended Posts

[Python] Berechnen Sie den Durchschnittswert des Pixelwerts RGB des Objekts
Tipps: [Python] Berechnen Sie den Durchschnittswert des angegebenen Bereichs mit Bedgraph
[Python3] Schreiben Sie das Codeobjekt der Funktion neu
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
der Zen von Python
Berechnen Sie den Regressionskoeffizienten der einfachen Regressionsanalyse mit Python
Auf dem Weg zum Ruhestand von Python2
Berechnen Sie die Anzahl der Änderungen
Über die Funktionen von Python
Die Kraft der Pandas: Python
[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden
Erben Sie die Standardbibliothek, um den Durchschnittswert der Warteschlange zu ermitteln
Berechnen Sie mit Python Millionen von Stellen in der Quadratwurzel von 2
Bildpixel-Manipulation in Python
Finden Sie die Definition des Wertes von errno
Die Geschichte von Python und die Geschichte von NaN
Ich habe die Berechnungszeit des in Python geschriebenen gleitenden Durchschnitts verglichen
[Python] Finden Sie den zweitkleinsten Wert.
[Python] Der Stolperstein des Imports
Erster Python 3 ~ Der Beginn der Wiederholung ~
Wie Sie die interne Struktur eines Objekts in Python kennen
Existenz aus Sicht von Python
pyenv-change die Python-Version von virtualenv
Über den Rückgabewert von pthread_mutex_init ()
Ruft die Attribute eines Objekts ab
Über den Rückgabewert des Histogramms.
[Python] Die potenzielle Feldplanung von Python Robotics verstehen
Überprüfung der Grundlagen von Python (FizzBuzz)
Berühren Sie das Objekt des neuronalen Netzes
Rufen Sie den Wert des Dropdown-Menüs mit Python und Selen ab und legen Sie ihn fest
Berechnen Sie den Vormonat in Python
Informationen zur Grundlagenliste der Python-Grundlagen
Lernen Sie die Grundlagen von Python ① Grundlegende Anfänger
[Python] Yuriko Koike Berechnen Sie die Anzahl der Stimmen, die Sie benötigen [matplotlib]
Berechnen Sie die kürzeste Route eines Diagramms mit der Dyxtra-Methode und Python
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
[Python] Berechnen Sie die Anzahl der Stellen, die zum Ausfüllen von Nullen erforderlich sind. [Hinweis]
Berechnen Sie die Wahrscheinlichkeit, eine Tintenfischmünze zu sein, mit dem Bayes-Theorem [Python]
Informationen zu Python-Code für einfachen gleitenden Durchschnitt unter Verwendung von Numba
Ruft den Rückgabewert eines externen Shell-Skripts (ls) mit python3 ab
Lassen Sie uns den Maximalwert Python finden (Korrektur ver)
Ändern Sie die Länge der Python-CSV-Zeichenfolgen
Überprüfen Sie das Verhalten des Zerstörers in Python
[Python3] Verstehe die Grundlagen von Beautiful Soup
Notizen vom Anfang von Python 1 lernen
Überprüfen Sie die Existenz der Datei mit Python
Informationen zur virtuellen Umgebung von Python Version 3.7
Lassen Sie Python die Bewegungsgleichung von Euler Lagrange berechnen
Ich kannte die Grundlagen von Python nicht
Das Ergebnis der Installation von Python auf Anaconda
[Python] Probieren Sie pydash der Python-Version von lodash aus
[Python] Überprüfen Sie den Speicherverbrauch von Variablen