高通滤波器(HPF):是检测图像的某个区域,然后根据与图像周围像素的亮度差值来提升(boost)该像素的亮度的滤波器
import cv2
import numpy as np
from scipy import ndimage
kernel_3x3 = np.array([
[-1,-1,-1],
[-1,8,-1],
[-1,-1,-1]
])
kernel_5x5 = np.array([
[-1,-1,-1,-1,-1],
[-1,1,2,1,-1],
[-1,2,4,2,-1],
[-1,1,2,1,-1],
[-1,-1,-1,-1,-1]
])
img = cv2.imread('IR005557.jpg',0)
#img = cv2.imread('123.jpg',0)
k3 = ndimage.convolve(img, kernel_3x3)
k5 = ndimage.convolve(img, kernel_5x5)
blurred = cv2.GaussianBlur(img,(11,11),0) #第三个参数表示高斯核函数在X方向的的标准偏差。
g_hpf = img - blurred
cv2.imshow("3x3",k3)
cv2.imshow('5x5',k5)
cv2.imshow('g_hpf',g_hpf)
cv2.waitKey()
cv2.destroyAllWindows()
输入图像为热红外图像:
输出为高通滤波后图像