Traitement d'image avec Python (3)

Faire semblant avant

La suite de l'article que j'ai écrit plus tôt pour la première fois en un an.

J'ai écrit le document OpenCV tel qu'il est dans Traitement d'image avec Python (1) pour la binarisation en utilisant OpenCV. Au lieu de "binariser", essayez quelque chose comme "trouver le seuil de binarisation et couper les pixels en dessous de ce seuil et l'afficher".

Binarisation d'images

Diminuez l'image de la lenna de 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)

Dans l'image où th est binarisé, ret est le seuil.

Troncature des pixels sous le seuil

Si vous pensez simplement, il semble que vous puissiez le faire avec le code suivant.

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

Cependant, il y a un problème avec ce code. Faire une demande pour le tableau de numpy est vraiment lent.

Alors, y a-t-il un moyen de le rendre plus rapide? Bien sûr, il y en a.

low_idx = img < ret
img[low_idx] = 0

Maintenant, lorsque vous comparez les images, cela ressemble à ceci.

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


Résumé du jour

J'ai trouvé un seuil pour la binarisation et coupé à ce seuil.

Code du jour

Recommended Posts

Traitement d'image avec Python (3)
Traitement d'image avec Python
[Python] Traitement d'image avec scicit-image
traitement d'image python
Traitement d'image avec la binarisation Python 100 knocks # 3
100 traitement d'image par Python Knock # 2 Échelle de gris
Bases du traitement d'images binarisées par Python
Traitement d'image par Python 100 knock # 10 filtre médian
Traitement d'image avec MyHDL
100 traitement d'image avec Python Knock # 8 Max Pooling
Premier traitement d'image Python
100 traitements de langage avec Python (chapitre 2, partie 2)
Traitement d'image par Python 100 knock # 12 motion filter
100 traitements de langage avec Python (chapitre 2, partie 1)
Dessin avec Matrix-Reinventor of Python Image Processing-
Traitez facilement des images en Python avec Pillow
Traitement d'image avec Python 100 knocks # 7 pooling moyen
Traitement d'image léger avec Python x OpenCV
Traitement d'image par Python 100 knock # 9 Filtre Gaussien
Traitement d'image avec PIL
Traitement d'image à partir de zéro avec python (5) Transformation de Fourier
Traitement d'image à partir de zéro avec python (4) Extraction de contour
100 coups de traitement du langage avec Python 2015
Etudier Python avec freeCodeCamp part1
Images en bordure avec python Partie 1
Traitement d'image avec PIL (Pillow)
"Traitement Apple" avec OpenCV3 + Python3
Grattage avec Selenium + Python Partie 1
Édition d'image avec python OpenCV
Traitement du signal acoustique avec Python (2)
Traitement du signal acoustique avec Python
Tri des fichiers image avec Python (3)
Etudier Python avec freeCodeCamp part2
Tri des fichiers image avec Python
Résolution de Nampre avec Python (partie 2)
Traitement d'image par python (Pillow)
Collection de traitement d'image en Python
Grattage avec Selenium + Python Partie 2
Remarques sur le traitement d'images HDR et RAW avec Python
Découpez une image avec python
Principes de base du traitement d'image en temps réel avec opencv
Jouez des nombres manuscrits avec Python Partie 1
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
[Python] Traitement parallèle facile avec Joblib
[Automatisé avec python! ] Partie 1: fichier de configuration
100 traitements de langage avec Python
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
100 traitements de langage avec Python (chapitre 3)
Notes personnelles pour le traitement d'images python
Faisons du scraping d'images avec Python
Trouver la similitude d'image avec Python + OpenCV
Automatisez des tâches simples avec Python Part0
[Automatisé avec python! ] Partie 2: Fonctionnement des fichiers
Envoyer l'image avec python et enregistrer avec php
Génération d'images dégradées avec Python [1] | np.linspace
[Jouons avec Python] Traitement d'image en monochrome et points
[Traitement d'image] Postérisation
QGIS + Python Partie 2
FizzBuzz en Python3
Grattage avec Python