Im letzten Beitrag habe ich einige Glättungsfilter erklärt. Hier nun ein praktisches Beispiel für OpenCV und Python. Das folgende Programm lädt ein Bild in den Speicher, wendet den Mittelwertfilter, den Gaußfilter sowie den Medianfilter darauf an und speichert die Bilder anschließend unter anderen Namen.

import cv2

img = cv2.imread('Bild.jpg',cv2.IMREAD_GRAYSCALE)
gblur = cv2.GaussianBlur(img,(3,3),0)
blur = cv2.blur(img,(3,3),0)
mblur = cv2.medianBlur(img,3)
cv2.imshow('Originalbild',img)
cv2.imshow('Gaussblur',gblur)
cv2.imshow('Averageblur',blur)
cv2.imshow('Medianblur',mblur)
cv2.imwrite('bild_mblur.jpg',mblur)
cv2.imwrite('bild_bblur.jpg',blur)
cv2.imwrite('bild_gblur.jpg',gblur)
cv2.waitKey(0)
cv2.destroyAllWindows()

Mit imread() wird eine Bilddatei als Grauwertbild eingelesen. Die Funktion cv2.GaussianBlur() wendet den Gaußfilter auf ein Bild an. Der Tupel im zweiten Parameter stellt die Größe des Faltungskerns ein. cv2.blur() stellt den Mittelwertfilter und cv2.medianBlur() wendet einen Medianfilter an. Die Größe des Filters kann über die Parameter verändert werden, in diesem Beispiel sind alle drei Filter in 3x3 Größe.


Konnte ich helfen? Ich freue mich über einen Drink! 💙