51 lines
1.0 KiB
Python
51 lines
1.0 KiB
Python
import numpy as np
|
|
import cv2
|
|
|
|
''' Einlesen des Bildes '''
|
|
I_in = [
|
|
[200, 200, 100, 200, 200],
|
|
[200, 200, 100, 200, 200],
|
|
[100, 100, 100, 100, 100],
|
|
[200, 200, 100, 200, 200],
|
|
[200, 200, 100, 200, 200],
|
|
]
|
|
|
|
I_in = np.asarray(I_in, dtype="uint8")
|
|
|
|
print("Bild vor der Bearbeitung:")
|
|
print(I_in)
|
|
print()
|
|
print(I_in.dtype)
|
|
|
|
''' Operation 1: Kantenfilter '''
|
|
edge = [
|
|
[-1, -1, -1],
|
|
[ 0, 0, 0],
|
|
[ 1, 1, 1]
|
|
]
|
|
edge = np.asarray(edge)
|
|
edge_conv = np.flip(edge)
|
|
I_in = cv2.filter2D(I_in, cv2.CV_64F, edge_conv, borderType=cv2.BORDER_REPLICATE)
|
|
print("Operation 1: Kantenfilter")
|
|
print(I_in)
|
|
print()
|
|
|
|
''' Operation 2: Absolutwertbildung '''
|
|
I_in = np.abs(I_in)
|
|
print("Operation 2: Absolutwertbildung")
|
|
print(I_in)
|
|
print()
|
|
|
|
''' Operation 3: Medianfilter'''
|
|
I_in = cv2.medianBlur(I_in.astype("float32"), 3)
|
|
print("Operation 3: Medianfilter")
|
|
print(I_in)
|
|
print()
|
|
|
|
''' Operation 4: Schwellwert '''
|
|
I_in = np.copy(I_in)
|
|
ret, I_out = cv2.threshold(I_in, 127, 255, cv2.THRESH_BINARY)
|
|
print("Operation 4: Schwellwert")
|
|
print(I_out)
|
|
print()
|