使用opencv用理想高通滤波器进行图像频率域锐化代码
时间: 2023-10-31 08:04:12 浏览: 48
好的,下面是使用OpenCV实现理想高通滤波器进行图像频率域锐化的代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg', 0)
# 转换为浮点数类型
img_float32 = np.float32(img)
# 傅里叶变换
dft = cv2.dft(img_float32, flags=cv2.DFT_COMPLEX_OUTPUT)
dft_shift = np.fft.fftshift(dft)
# 构建理想高通滤波器
rows, cols = img.shape
crow, ccol = int(rows / 2), int(cols / 2)
mask = np.zeros((rows, cols, 2), np.float32)
r = 50 # 半径
mask[crow - r:crow + r, ccol - r:ccol + r] = 1
# 应用滤波器
fshift = dft_shift * mask
f_ishift = np.fft.ifftshift(fshift)
img_back = cv2.idft(f_ishift)
img_back = cv2.magnitude(img_back[:, :, 0], img_back[:, :, 1])
# 将结果转换为 uint8 类型
img_back = cv2.normalize(img_back, None, 0, 255, cv2.NORM_MINMAX)
img_back = np.uint8(img_back)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Sharpened Image', img_back)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码将读取名为 `test.jpg` 的图像,然后使用理想高通滤波器进行频率域锐化,最后将结果显示出来。你可以根据需要进行修改和调整。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)