数字图像处理 python 高频强调滤波
时间: 2023-08-31 14:08:46 浏览: 85
高频强调滤波是一种用于增强图像中高频细节的滤波方法。在Python中,可以使用以下步骤来实现高频强调滤波:
1. 导入所需的库:
```python
import numpy as np
import cv2
from matplotlib import pyplot as plt
```
2. 读取图像并进行灰度化处理:
```python
image = cv2.imread('image.jpg', 0)
```
3. 对图像进行二维傅里叶变换:
```python
f = np.fft.fft2(image)
```
4. 将零频率成分移到频谱中心:
```python
fshift = np.fft.fftshift(f)
```
5. 构建高通滤波器,例如巴特沃斯高通滤波器:
```python
rows, cols = image.shape
crow, ccol = rows // 2, cols // 2
# 创建一个巴特沃斯高通滤波器
D = 30 # 截止频率
n = 2 # 阶数
# 计算距离中心频率的距离
dist = np.zeros((rows, cols))
for i in range(rows):
for j in range(cols):
dist[i, j] = np.sqrt((i - crow) ** 2 + (j - ccol) ** 2)
# 构建滤波器
H = 1 - 1 / (1 + (dist / D) ** (2 * n))
```
这里的示例是一个巴特沃斯高通滤波器,通过计算距离中心频率的距离,并根据阶数和截止频率构建滤波器。
6. 将滤波器应用于频域图像:
```python
fshift_filtered = fshift * H
```
7. 将滤波后的频域图像转回原始图像域:
```python
f_ishift = np.fft.ifftshift(fshift_filtered)
image_filtered = np.fft.ifft2(f_ishift)
image_filtered = np.abs(image_filtered)
```
8. 显示原始图像和滤波后的图像:
```python
plt.subplot(121), plt.imshow(image, cmap='gray')
plt.title('Original Image')
plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(image_filtered, cmap='gray')
plt.title('Filtered Image')
plt.xticks([]), plt.yticks([])
plt.show()
```
这样就完成了高频强调滤波的过程。你可以根据具体的需求调整截止频率和阶数来控制滤波效果。
希望这个示例对你有帮助!如果还有其他问题,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)