Traitement d'image par Python 100 knock # 10 filtre médian

introduction

Salut, je suis Ramu. Cette fois, nous allons implémenter un filtre médian qui supprime le bruit dans l'image.

10e: filtre médian

Un filtre médian est un filtre qui lisse et supprime le bruit des images. En appliquant ce filtre, vous pouvez rendre l'image entière floue.

Ce filtre remplace le pixel d'intérêt par la valeur médiane des pixels périphériques.

De plus, comme dans le temps précédent, le traitement de filtrage ne peut pas être effectué sur le bord de l'image, donc un traitement de remplissage à 0 utilisant 0 est effectué pour les pixels inexistants.

Code source

medianFilter.py


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


def medianFilter(img,k):
  w,h,c = img.shape
  size = k // 2

  #0 processus de remplissage
  _img = np.zeros((w+2*size,h+2*size,c), dtype=np.float)
  _img[size:size+w,size:size+h] = img.copy().astype(np.float)
  dst = _img.copy()

  #Processus de filtrage
  for x in range(w):
    for y in range(h):
      for z in range(c):
        dst[x+size,y+size,z] = np.median(_img[x:x+k,y:y+k,z])

  dst = dst[size:size+w,size:size+h].astype(np.uint8)

  return dst


#Lecture d'image
img = cv2.imread('image.jpg')

#Filtre médian
#Deuxième argument: taille du filtre
img = medianFilter(img,15)

#Enregistrer l'image
cv2.imwrite('result.jpg', img)
#Affichage de l'image
plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.show()

ファイル名 ファイル名 ファイル名

Le côté gauche de l'image est l'image d'entrée, le centre de l'image est l'image de sortie par le filtre gaussien précédent et le côté droit de l'image est l'image de sortie actuelle. Vous pouvez voir que le filtre médian peut éliminer proprement le bruit ponctuel. Ce n'est pas une très bonne comparaison car les arguments sont différents, mais le filtre médian peut supprimer le bruit ponctuel plus proprement.

en conclusion

Si vous avez des questions, n'hésitez pas à nous contacter. [Github] de imori_imori (https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers_py/answer_6.py) a la réponse officielle, veuillez donc vérifier cela également. .. De plus, comme python est un débutant, veuillez signaler toute erreur.

Recommended Posts

Traitement d'image par Python 100 knock # 10 filtre médian
Traitement d'image par Python 100 knock # 12 motion filter
Traitement d'image avec Python
Traitement d'image par Python 100 knock # 9 Filtre Gaussien
Traitement d'image avec Python (partie 2)
100 coups de traitement du langage avec Python 2015
Traitement d'image avec Python (partie 1)
Traitement d'image avec Python (3)
Traitement d'image par filtre de lissage Python 100 knock # 11 (filtre moyen)
[Python] Traitement d'image avec scicit-image
100 traitements de langage avec Python
100 traitements de langage avec Python (chapitre 3)
Traitement d'image avec la binarisation Python 100 knocks # 3
100 traitement d'image par Python Knock # 2 Échelle de gris
traitement d'image python
Bases du traitement d'images binarisées par Python
Traitement d'image par le remplacement du canal Python 100 Knock # 1
100 traitement d'image avec Python Knock # 8 Max Pooling
100 traitements de langage avec Python (chapitre 2, partie 2)
Traitement d'image avec Python et OpenCV [Tone Curve]
Traitement d'image par Python 100 Knock # 6 Traitement de réduction de couleur
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 avec MyHDL
Premier traitement d'image Python
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
Traitement d'image avec la configuration de l'environnement Python pour Windows
Traitement d'image avec PIL (Pillow)
"Traitement Apple" avec OpenCV3 + Python3
Remarques sur le traitement d'images HDR et RAW avec Python
Édition d'image avec python OpenCV
Traitement du signal acoustique avec Python (2)
Traitement du signal acoustique avec Python
[Python] Filtrer les feuilles de calcul avec gspread
Tri des fichiers image avec Python (2)
Tri des fichiers image avec Python (3)
100 Language Processing Knock Chapitre 1 (Python)
100 Language Processing Knock Chapitre 2 (Python)
Tweet avec image en Python
Tri des fichiers image avec Python
Traitement d'image par python (Pillow)
Collection de traitement d'image en Python
[Jouons avec Python] Traitement d'image en monochrome et points
Découpez une image avec python
Principes de base du traitement d'image en temps réel avec opencv
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
[Python] Traitement parallèle facile avec Joblib
100 Language Processing Knock Chapitre 1 en Python
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Notes personnelles pour le traitement d'images python
Traitement d'image 100 coups Q9, Q10 (filtre) speedup
Faisons du scraping d'images avec Python
Le débutant en Python a essayé 100 traitements de langage Knock 2015 (05 ~ 09)
Trouver la similitude d'image avec Python + OpenCV
100 Language Processing Knock Chapitre 1 par Python