Same as expansion and corrosion operation , Open operation and close operation are also two basic operations in morphology , These two operations are based on corrosion and expansion .
Open operation ： First corrosion operation , Post expansion operation . The function is to separate the connected objects , The connection itself is subtle , At the same time, it can remove some isolated points or burrs .
Closed operation ： Expansion operation first , Post corrosion operation . The function is to eliminate some small black holes inside the object .
It's easier to understand by looking at two pictures , The first is open operation ：
Operation by open operation , The general shape of the object changes little , Some burrs , Bulge , The pixels at the tiny junctions disappear .
The following is a diagram of the closed operation ：
As can be seen from the picture above , The closed operation also keeps the general shape of the object , It's just filling some holes in the interior of the object .
Let's look at the last paragraph opencv Simple code for implementation ：
import cv2 import matplotlib.pyplot as plt img = cv2.imread("fig.jpg") kernel =
cv2.getStructuringElement(cv2.MORPH_RECT, (20, 20)) open = cv2.morphologyEx(img
, cv2.MORPH_OPEN, kernel) close = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
plt.subplot(131); plt.imshow(img); plt.title("original") plt.subplot(132); plt.
imshow(open); plt.title("open") plt.subplot(133); plt.imshow(close); plt.title(
Original image , Open operation , The results of the closed operation are as follows ：