Max-Min Filter 实现及用于检测图像边缘
一. 边缘检测 边缘检测通常作用于灰度图像上。边缘检测用于检测图像中的线。 边缘检测结果 ↑ 二. 最大 - 最小滤波器(Max - Min) 3*3 Max-Min Filter 算法原理 ↑ 我们知道,图像的细节属于低频信息,图像的边缘属于高频信息。我们使用一定大小的 Max-Min 滤波器作用于图像,当滤波器作用于图像细节时,输出结果往往趋向于0(黑色);而滤波器作用于图像边缘时,Max-Min 输出结果往往趋向于255(白色)。所以 最大-最小滤波器 能有效地用于检测图像的边缘和轮廓。 三. python实现 最大-最小 滤波器 用3*3的 Max-Min 滤波器对图像进行边缘检测 import cv2 import numpy as np # BGR to Gray scale def BGR2GRAY(img): b = img[:, :, 0].copy() g = img[:, :, 1].copy() r = img[:, :, 2].copy() # Gray scale out = 0.2126 * r + 0.7152 * g + 0.0722 * b out = out.astype(np.uint8) return out # max-min filter def max_min_filter(img, K_size=3): H, W = img