图像的高频和低频滤波处理

图像的高频和低频

低频对应图像内变化缓慢的灰度分量。列如,在一副大草原上的图像中,低频对应着广袤的颜色趋于一致的草原

高频对应着图像内变化越来越快的灰度分量,是由灰度的尖锐过度造成的,列如,在一副大草原的图像中,其中狮子的边缘等信息

衰减高频而通过低频,低通滤波器,将模糊一幅图像
衰减低频而通过高频,高通滤波器,将增强尖锐的细节,但是会导致图像的对比度降低

滤波

接受(通过)或者拒绝一定频率的分量
通过低频的滤波器称为低通滤波器
通过高频的滤波器称为高通滤波器 

修改傅里叶变换以达到特殊的目的,然后计算IDFT返回到图像域
特殊目的:图像增强、图像去燥、边缘检测、特征提取、压缩、加密等

代码:高频滤波,中心部分设置成0

import numpy as np
import cv2    #opencv-python
import matplotlib.pyplot as plt

img = cv2.imread("../images/chenqiaoen.jpg",0)
#傅里叶变换
f = np.fft.fft2(img)
#得到左上角低频成分放到中间
fshift = np.fft.fftshift(f)

#得到图片的行列,也就是宽高
rows,cols = img.shape
#获取中心位置
crow,ccol = int(rows/2),int(cols/2)
#中心低频的区域,+-30都变为0
fshift[crow-30:crow+30,ccol-30:ccol+30] = 0

#低频中心位置移动到左上角
ishift = np.fft.ifftshift(fshift)
#傅里叶逆变换
iomage = np.fft.ifft2(ishift)
#取绝对值
iimg = np.abs(iomage)

#展示
plt.subplot(121)
plt.imshow(img,cmap = "gray")
plt.title("original")
plt.axis("off")

plt.subplot(122)
plt.imshow(iimg,cmap="gray")
plt.title("iimg")
plt.axis('off')
plt.show()

 效果展示:左边是原始图像,右边是滤掉低频的图像

代码:低频滤波,中心部分设置成1

# -*- coding: utf-8 -*-
"""
create time:2023年4月1日17:37:22
@author: seer_HT
"""

import numpy as np
import cv2    #opencv-python
import matplotlib.pyplot as plt

img = cv2.imread("../images/chenqiaoen.jpg",0)
#傅里叶变换
dft = cv2.dft(np.float32(img),flags = cv2.DFT_COMPLEX_OUTPUT)
#低频左上角移动到中心位置
dftShift = np.fft.fftshift(dft)

#计算中心位置,行列
rows,cols = img.shape
crow,ccol=int(rows/2),int(cols/2)
#眼膜图像,2通道
mask = np.zeros((rows,cols,2),np.uint8)
#中心位置设置成1
mask[crow-30:crow+30,ccol-30:ccol+30]=1

#眼膜和频谱图像进行乘法,得到低通滤波
fShift = dftShift*mask
#低频移动到左上角
ishift = np.fft.ifftshift(fShift)

#傅里叶反变换
iImg = cv2.idft(ishift)
#将俩个通道的图像转换为灰度图像
Imgre = cv2.magnitude(iImg[:,:,0],iImg[:,:,1])

plt.subplot(121)
plt.imshow(img,cmap="gray")
plt.title("original")
plt.axis('off')

plt.subplot(122)
plt.imshow(Imgre,cmap='gray')
plt.title('inverse')
plt.axis('off')
plt.show()

效果展示:

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值