Bildverarbeitung mit Python (3)

Stell dir vor

Die Fortsetzung des Artikels, den ich zum ersten Mal seit einem Jahr geschrieben habe.

Ich habe das OpenCV-Dokument so geschrieben, wie es in Bildverarbeitung mit Python (1) für die Binärisierung mit OpenCV ist. Versuchen Sie statt "Binärisieren" etwas wie "Finden Sie den Schwellenwert für die Binärisierung und schneiden Sie die Pixel unterhalb dieses Schwellenwerts ab und zeigen Sie ihn an".

Binarisierung von Bildern

Verringern Sie das Lenna-Bild um 2.

import cv2

lenna = "4.2.04.tiff"

orig = cv2.imread(lenna, 0)
img = cv2.medianBlur(orig, 5)
ret,th = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)

In dem Bild, in dem th binärisiert ist, ist ret der Schwellenwert.

Abschneiden von Pixeln unterhalb des Schwellenwerts

Wenn Sie einfach denken, können Sie dies anscheinend mit dem folgenden Code tun.

height, width = img.shape
for y in range(height):
  for x in range(width):
    if img[y, x] < ret:
      img[y, x] = 0

Es gibt jedoch ein Problem mit diesem Code. Die Bewerbung für das Array von numpy ist sehr langsam.

Gibt es eine Möglichkeit, es schneller zu machen? Natürlich gibt es.

low_idx = img < ret
img[low_idx] = 0

Wenn Sie nun die Bilder vergleichen, sieht es so aus.

from matplotlib import pyplot as plt

plt.subplot(1,3,1)
plt.imshow(orig, cmap='gray'), plt.title('Original')
plt.subplot(1,3,2)
plt.imshow(img, cmap='gray'), plt.title('Threshold')
plt.subplot(1,3,3)
plt.imshow(th, cmap='gray'), plt.title('Binarize')
plt.show()

lenna_20170917.png


Die heutige Zusammenfassung

Ich habe eine Schwelle für die Binarisierung gefunden und bei dieser Schwelle abgeschnitten.

Der heutige Code

Recommended Posts

Bildverarbeitung mit Python (3)
Bildverarbeitung mit Python
[Python] Bildverarbeitung mit Scicit-Image
Python-Bildverarbeitung
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
100 Bildverarbeitung mit Python Knock # 2 Graustufen
Grundlagen der binärisierten Bildverarbeitung durch Python
Bildverarbeitung mit Python 100 Knock # 10 Medianfilter
Bildverarbeitung mit MyHDL
100 Bildverarbeitung mit Python Knock # 8 Max Pooling
Erste Python-Bildverarbeitung
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 2)
Bildverarbeitung mit Python 100 Knock # 12 Bewegungsfilter
100 Sprachverarbeitungsklopfen mit Python (Kapitel 2, Teil 1)
Zeichnen mit Matrix-Reinventor von Python Image Processing-
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Die Bildverarbeitung mit Python 100 führt zu einem durchschnittlichen Pooling von # 7
Leichte Bildverarbeitung mit Python x OpenCV
Bildverarbeitung mit Python 100 Knock # 9 Gauß-Filter
Bildverarbeitung mit PIL
Bildverarbeitung von Grund auf mit Python (5) Fourier-Transformation
Bildverarbeitung von Grund auf mit Python (4) Konturextraktion
100 Sprachverarbeitungsklopfen mit Python 2015
Python mit freeCodeCamp Teil1 studieren
Angrenzende Bilder mit Python Teil 1
Bildverarbeitung mit PIL (Pillow)
"Apple-Verarbeitung" mit OpenCV3 + Python3
Schaben mit Selen + Python Teil 1
Bildbearbeitung mit Python OpenCV
Akustische Signalverarbeitung mit Python (2)
Sortieren von Bilddateien mit Python (3)
Python studieren mit freeCodeCamp part2
Bilddateien mit Python sortieren
Nampre mit Python lösen (Teil 2)
Bildverarbeitung mit Python (Pillow)
Bildverarbeitungssammlung in Python
Schaben mit Selen + Python Teil 2
Hinweise zur HDR- und RAW-Bildverarbeitung mit Python
Schneiden Sie ein Bild mit Python aus
Grundlagen der Echtzeit-Bildverarbeitung mit opencv
Spielen Sie handschriftliche Zahlen mit Python Part 1
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
[Python] Einfache Parallelverarbeitung mit Joblib
[Mit Python automatisiert! ] Teil 1: Datei einstellen
100 Sprachverarbeitungsklopfen mit Python (Kapitel 1)
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
100 Sprachverarbeitungsklopfen mit Python (Kapitel 3)
Persönliche Notizen für die Python-Bildverarbeitung
Lassen Sie uns mit Python Image Scraping durchführen
Finden Sie Bildähnlichkeit mit Python + OpenCV
Automatisieren Sie einfache Aufgaben mit Python Part0
[Mit Python automatisiert! ] Teil 2: Dateivorgang
Sende Bild mit Python und speichere mit PHP
Erzeugung von Verlaufsbildern mit Python [1] | np.linspace
[Lass uns mit Python spielen] Bildverarbeitung zu Monochrom und Punkten
[Bildverarbeitung] Posterisierung
QGIS + Python Teil 2
FizzBuzz in Python3
Scraping mit Python