main
pinb 1 year ago
parent 86a3b9a75c
commit e065a401b8

@ -0,0 +1,93 @@
---
layout: default
title: 02. Gabor Filter
subtitle: Deep Learning
---
-----
[PINBlog Gitea Repository](https://gitea.pinblog.codes/CBNU/02_GaborFilter)
-----
# Gabor Filter
- 산업인공지능학과 대학원
2022254026
김홍열
---
# **Gabor Filter란?**
Gabor Filter는 영상처리에서 Bio-inspired라는 키워드가 있으면 빠지지않고 등장한다.
외곽선을 검출하는 기능을 하는 필터로, 사람의 시각체계가 반응하는 것과 비슷하다는 이유로 널리 사용되고 있다.
Gabor Fiter는 간단히 말해서 사인 함수로 모듈레이션 된 Gaussian Filter라고 생각할 수 있다.
파라미터를 조절함에 따라 Edge의 크기나 방향성을 바꿀 수 있으므로 Bio-inspired 영상처리 알고리즘에서 특징점 추출 알고리즘으로 핵심적인 역할을 하고 있다.
2D Gabor Filter의 수식은 아래와 같다.
![gaborfilter](./images/gaborfilter.png)
![gaborfilter](./images/gaborfilter2.png)
![gaborfilter](./images/gaborfilter3.png)
```cpp
cv::Mat cv::getGaborKernel(cv::Size ksize, double sigma, double theta, double lambd, double gamma, double psi = CV_PI*0.5, int ktype = CV_64F)
```
cv::getGaborKernel 함수는 OpenCV에서 가버필터(Gabor filter)를 생성하는 데 사용된다.
가버필터는 이미지 처리와 컴퓨터 비전에서 특정 방향성과 주파수의 특징을 강조하는 데 사용되는 선형 필터이다.
### **Parameters**
* ksize: 커널의 크기로, cv::Size 타입. 커널의 너비와 높이를 지정.
* sigma: 가우시안 함수의 표준 편차. 값이 커질수록 커널의 크기가 커지고, 필터의 감도가 낮아진다.
* theta: 필터의 방향을 라디안 단위로 지정한다. 0은 수평 방향, CV_PI/2는 수직 방향을 의미한다.
* lambd: 가버필터의 파장. 이미지의 특정 패턴과 얼마나 잘 매치할지를 결정한다.
* gamma: 공간종횡비(Spatial aspect ratio)로, 타원형 가버 함수의 타원성을 결정한다. (gamma=1은 원형, gamma<1 )
* psi: 위상변위(Phase offset)로, 가버 필터의 위상을 조절한다. (일반적으로 CV_PI*0.5가 기본값으로 사용)
* ktype: 커널 타입. (보통 CV_64F (64-비트 부동소수점)를 사용)
---
### 예제 코드[¶]()
<details>
<summary>Import</summary>
<div markdown="1">
```python
```
</div>
</details>
---
### 참고[¶]()
- Gabor Filter - Google
- ChatGPT
- [Blog](https://thinkpiece.tistory.com/304)

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Loading…
Cancel
Save