同态滤波简介
是把频率滤波和空域灰度变换结合起来的一种图像处理方法,它根据图像的照度/反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。
同态变换一般是指将非线性组合信号通过某种变换,使其变成线性组合信号,从而可以更方便的运用线性操作对信号进行处理。
同态滤波基本流程
S(x,y)
取对数
傅里叶变换
频域滤波
傅里叶逆变换
取指数
T(x,y)
代码
import cv2
import math
import numpy as np
import matplotlib.pyplot as plt
##S(x,y)---->Log---->DFT---->频域滤波---->IDFT---->Exp---->T(x,y)
#对图像取对数的函数
def log_transformation(input_image, c):
input_image_cp = np.copy(input_image) # 输入图像的副本
output_imgae = c * np.log(1 + input_image_cp.astype(int)) # 输出图像
return output_imgae
#对图像取指数的函数(根据取对数修改的)
def exp_transformation(input_image):
input_image_cp = np.copy(input_image) # 输入图像的副本
output_imgae