Bildverarbeitung mit Python 100 Knock # 6 Farbreduktionsverarbeitung

Einführung

Hallo, ich bin Ramu. Dieses Mal werden wir einen Farbreduktionsprozess implementieren, der die Anzahl der Farben im Bild reduziert. Der Grund, warum man vom letzten Mal übersprungen wird, ist übrigens, dass die fünfte HSV-Konvertierung nicht implementiert werden konnte.

6. Farbreduktionsverarbeitung

Wie der Name schon sagt, ist die Farbreduzierung ein Prozess, der die Anzahl der Farben reduziert. In einem normalen Bild gibt es 256 Farben von jeweils [0: 255] in BGR, und es gibt eine Kombination von $ 256 ^ 3 = 16.777.216 $ Farben für einen Pixelwert. In diesem Prozess wird jede BGR auf 4 Farben von [32,96,160,224] reduziert, und ein Pixelwert wird auf $ 4 ^ 3 = 64 $ reduziert.

Dieses Mal wird die Farbreduktion gemäß der folgenden Formel durchgeführt.

pix = {  32 (  0 <= pix <  64)
         96 ( 64 <= pix < 128)
        160 (128 <= pix < 192)
        224 (192 <= pix < 256)

Quellcode

decreaseColor.py


import numpy as np
import cv2
import matplotlib.pyplot as plt

def decreaseColor(img):
  dst = img.copy()

  idx = np.where((0<=img) & (64>img))
  dst[idx] = 32
  idx = np.where((64<=img) & (128>img))
  dst[idx] = 96
  idx = np.where((128<=img) & (192>img))
  dst[idx] = 160
  idx = np.where((192<=img) & (256>img))
  dst[idx] = 224

  return dst

#Bild lesen
img = cv2.imread('../assets/imori.jpg')

#Farbreduktionsverarbeitung
img = decreaseColor(img)

#Bildschirm
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()

ファイル名 ファイル名

Das Bild links ist das Eingabebild und das Bild rechts ist das Ausgabebild. Sie können sehen, dass die Farbe gut reduziert wurde. Das Ausgabeergebnis sieht aus wie eine Volltonfarbe in einer ähnlichen Farbe.

abschließend

Wenn Sie Fragen haben, können Sie sich gerne an uns wenden. imori_imoris Github hat die offizielle Antwort. Bitte überprüfen Sie dies ebenfalls. .. Da Python ein Anfänger ist, weisen Sie bitte auf Fehler hin.

Recommended Posts

Bildverarbeitung mit Python 100 Knock # 6 Farbreduktionsverarbeitung
Bildverarbeitung 100 Klopfen Q.6. Erklärung der Farbreduktionsverarbeitung
Bildverarbeitung mit Python (Pillow)
Bildverarbeitung mit Python 100 Knock # 11 Glättungsfilter (Durchschnittsfilter)
100 Sprachverarbeitung Knock Kapitel 1 von Python
Python-Bildverarbeitung
Bildverarbeitung mit Python 100 Knock # 10 Medianfilter
Graustufen durch Matrix-Reinventor der Python-Bildverarbeitung-
Kommunikationsverarbeitung durch Python
Erste Python-Bildverarbeitung
Bildverarbeitung mit Python
Bildverarbeitung mit Python (Teil 2)
100 Sprachverarbeitungsklopfen mit Python 2015
Bildverarbeitung durch Matrix Basics & Contents-Reinventor der Python-Bildverarbeitung-
100 Sprachverarbeitung Knock Kapitel 1 (Python)
100 Sprachverarbeitung Knock Kapitel 2 (Python)
Bildverarbeitung mit Python (Teil 1)
Bildverarbeitung mit Python (3)
Bildverarbeitungssammlung in Python
[Python] Bildverarbeitung mit Scicit-Image
100 Sprachverarbeitungsklopfen mit Python (Kapitel 1)
100 Sprachverarbeitung Knock Kapitel 1 in Python
100 Sprachverarbeitungsklopfen mit Python (Kapitel 3)
Persönliche Notizen für die Python-Bildverarbeitung
Python-Anfänger versucht 100 Sprachverarbeitung klopfen 2015 (05 ~ 09)
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Python-Anfänger versucht 100 Sprachverarbeitung klopfen 2015 (00 ~ 04)
Lineares Zeichnen mit einer Matrix-Originalforschung von einem Neuerfinder der Python-Bildverarbeitung-
Grundlagen der binärisierten Bildverarbeitung durch Python
Socket-Kommunikation und Multithread-Verarbeitung durch Python
100 Sprachverarbeitung Knock-89: Analogie mit additiver Konstitutivität
100 Bildverarbeitung mit Python Knock # 8 Max Pooling
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-007 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-006 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-001 Erläuterung
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 2)
Bildverarbeitung mit Python & OpenCV [Tonkurve]
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 1)
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-002 Erläuterung
Zeichnen mit Matrix-Reinventor von Python Image Processing-
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Analyse des Röntgenmikrotomographiebildes durch Python
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 021 Erläuterung
Die Bildverarbeitung mit Python 100 führt zu einem durchschnittlichen Pooling von # 7
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-005 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-004 Erläuterung
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 020 Erläuterung
Leichte Bildverarbeitung mit Python x OpenCV
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 025 Erläuterung
"Data Science 100 Knock (Strukturierte Datenverarbeitung)" Python-003 Erläuterung
Faltungsfilterung durch Matrix-Reinventor der Python-Bildverarbeitung-
Bildverarbeitung mit Python 100 Knock # 9 Gauß-Filter
[Python] 100 Schläge auf Data Science (strukturierte Datenverarbeitung) 019 Erläuterung
[Bildverarbeitung] Posterisierung
Python unerfahrene Person versucht, 100 Sprachverarbeitung 14-16 zu klopfen
Extrahieren Sie die dominante Bildfarbe durch k-Mittel-Clustering
Bildverarbeitung von Grund auf mit Python (5) Fourier-Transformation
100 Sprachverarbeitungsklopfen (2020): 28
Python-Dateiverarbeitung
Affin-Konvertierung durch Matrix (Vergrößerung / Verkleinerung / Drehung / Scherung / Bewegung) - Erfinder der Python-Bildverarbeitung -