이 글은 패스트캠퍼스 황선규 박사님의 ''opencv를 활용한 컴퓨터비전과 딥러닝 올인원 패키지"강의 를 리뷰하였습니다.
1) 코너
* 코너
- 객체의 뾰족하게 나온 부분
- 변별력을 가지는 부분임.
- 위의 예에서 A와 B와는 달리 C는 local적 변별력을 가지고 있다.
2) open cv에서 제공하는 코너검출 방법
- 해리스코너: 실수형태 행렬의 코너응답함수 반환, 렬이춘히 크면 코너라고 인식함. 점들이 많이 붙어있거나 local maxima가 아닌것도 반환될수 있음.
- Good features to traack: 해리스코너 방식의 단점을 보완하여 local maxima가 아닌것은 걸러줌. 리턴타입은 코너점들의 좌표를 그대로 반환하여 사용하기가 수월함.
- FAST: 코너검출방법중 가장 빠름, 특정 픽셀 주변의 16개를 조사하여 그 픽샐값이 가운데 픽셀보다 충분히 밝거나 어두운 것이 9개/12개가 있으면 코너라고 판단
- 가장 효율적인 방법은 FAST임.
3) 해리스 코너 함수
- blocksize는 3정도가 무난.
- 해리스상수 k는 보통 0.04
- 결과값으로 좌표가 반환되면 편하겠지만, 그렇지 않고 float 타입의 행렬 리턴. 행렬이 0보다 충분히 크면 적절한 threshold를 주어 코너로 판단하게 함. -> 후처리가 필요하기때문에 사용하기에 불편하긴 함.
4) GoodFeaturesToTrack 방법
- 논문: https://www.edwardrosten.com/work/fast.html
- minDistance: 검출된 두개의 코너가 너무 가까우면 하나를 버리겠다
- 리턴값: 점들의 좌표를 3차원으로 줌. N은 코너점의 개수
5) FAST
- threhold는 30~60정도 추천
- nommaxSuppression: 근방에 코너가 또 검출될수있기때문에 이것을 억제(가장 큰것만 선택) default 값이 true임.
- FAST 방법은 노이즈에 민감함. 속도가 항상 좋기때문에 FAST가 코너검출에 가장 효율적임.
'Study > 파이썬' 카테고리의 다른 글
Visual Studio Code Pip 설치 에러 (0) | 2024.08.12 |
---|---|
visual studio code 파이썬 실행 에러 You don't have an extension for debugging Python (0) | 2024.08.12 |
시간복잡도 빅오(big-O) (0) | 2021.05.07 |
파이썬 코딩스타일 (0) | 2021.05.07 |
Python OpenCV: 탬플릿 매칭 matchTemplate (0) | 2021.04.30 |