opencv高通滤波器
时间: 2023-09-14 21:09:54 浏览: 116
高通滤波器是一种用于增强图像边缘和细节的图像处理技术。在OpenCV中,常用的高通滤波器有Scharr算子、拉普拉斯算子和Sobel算子等。
Scharr算子是一种寻找细小边缘的滤波器,它通过计算像素点周围的梯度来检测边缘。在OpenCV中,可以使用cv2.Scharr函数来实现Scharr算子的应用。例如,对一张图片进行垂直边缘检测,可以使用以下代码:
```python
import cv2
import numpy as np
img = cv2.imread('lena.png')
dx = cv2.Scharr(img, cv2.CV_64F, 1, 0)
cv2.imshow('dx', dx)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
拉普拉斯算子是一种对噪音敏感的高通滤波器,它可以同时检测两个方向的边缘。在OpenCV中,可以使用cv2.Laplacian函数来实现拉普拉斯算子的应用。例如,对一张图片进行边缘检测,可以使用以下代码:
```python
import cv2
import numpy as np
img = cv2.imread('chess.png')
dst = cv2.Laplacian(img, -1, ksize=3)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
此外,还可以使用Sobel算子进行边缘检测。Sobel算子与Scharr算子类似,可以检测图像的水平和垂直边缘。使用cv2.Sobel函数可以实现Sobel算子的应用。
请注意,以上代码示例中的图片路径需要根据实际情况做相应的调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Python机器视觉--OpenCV进阶(核心)--常用高通滤波器(索贝尔(sobel)算子,沙尔(Scharr)算子,拉普拉斯...](https://blog.csdn.net/qq_43944517/article/details/126448787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [OpenCv图像锐化及各种高通滤波](https://blog.csdn.net/Cristiano2000/article/details/118875729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文