36 lines
795 B
Python
36 lines
795 B
Python
import cv2
|
|
import numpy as np
|
|
|
|
I = np.asarray([
|
|
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
[0, 0, 1, 1, 0, 1, 1, 0, 1, 0],
|
|
[0, 1, 0, 1, 1, 0, 1, 1, 1, 0],
|
|
[0, 0, 1, 0, 0, 0, 0, 1, 1, 0],
|
|
[0, 0, 1, 0, 0, 1, 0, 0, 1, 0],
|
|
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
|
|
[0, 0, 0, 1, 0, 0, 0, 0, 1, 0],
|
|
[0, 0, 0, 1, 1, 1, 0, 1, 1, 0],
|
|
[0, 1, 0, 1, 1, 1, 0, 1, 1, 0],
|
|
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
|
], dtype=np.uint8)
|
|
|
|
s = np.asarray([
|
|
[0, 1, 0],
|
|
[0, 1, 1],
|
|
[0, 0, 0],
|
|
], dtype=np.uint8)
|
|
|
|
|
|
I_new = cv2.erode(I, s)
|
|
I_new = cv2.dilate(I_new, s)
|
|
|
|
# Resize image
|
|
I = np.repeat(I, 50, axis=1)
|
|
I = np.repeat(I, 50, axis=0)
|
|
I_new = np.repeat(I_new, 50, axis=1)
|
|
I_new = np.repeat(I_new, 50, axis=0)
|
|
|
|
cv2.imshow("Original", I * 255)
|
|
cv2.imshow("Opening", I_new * 255)
|
|
cv2.waitKey(0)
|