def apply_filters(self, frame):
"""Apply specified filters to frame.
Args:
frame (np.ndarray): frame to be modified.
Returns:
n_frame (np.ndarray): modified frame.
"""
n_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
if 'g-blur' in self.filters:
n_frame = cv2.GaussianBlur(n_frame, (5,5), 0)
if 'b-filtering' in self.filters:
n_frame = cv2.bilateralFilter(n_frame, 9, 75, 75)
if 't_adaptive' in self.filters:
n_frame = cv2.adaptiveThreshold(n_frame, 255,
cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY, 115, 1)
if 'otsu' in self.filters:
_, n_frame = cv2.threshold(n_frame, 125, 255,
cv2.THRESH_BINARY+cv2.THRESH_OTSU)
if 'canny' in self.filters:
n_frame = cv2.Canny(n_frame, 100, 200)
if 'b-subtraction' in self.filters:
n_frame = self.subtractor.apply(frame)
n_frame = cv2.cvtColor(n_frame, cv2.COLOR_GRAY2BGR)
return n_frame
评论列表
文章目录