0

사실 저는 노치 필터를 적용하여 (선, 원 등) 이미지의 특정 패턴을 제거하고자합니다. 노치 필터 또는 다른 제거 방법을 사용하여 선 또는 원의 특정 주파수를 제거하고 싶습니다. 어떤 사람들이 나를 안내 할 수있어 어떻게 원이나 선처럼 이미지에서 특정한 반복적 인 패턴을 제거 할 수 있습니까? 몇 가지 예제 코드를 제공하면 많은 도움이됩니다. 현재는 특정 반복 패턴 양식 이미지를 제거하기 위해 필터 또는 노치를 적용하는 방법을 이해할 수 없기 때문입니다. 곧 당신의 연락을 기다리고 있습니다. enter image description here주파수 도메인 필터링 opencv C++?

+0

은 [이] (https://stackoverflow.com/questions/29235421/find-proper-notch-filter-to-remove-pattern-from-image) 질문 도움말에 내 대답을합니까? 그것은 MATLAB 관련 질문이지만 설명 자체가 서 있어야합니다. – jodag

+0

이미지 게시가 도움이 될 수 있습니다. –

+0

@ MarkSetchell 이미지를 참조하고 이미지에서 반복적 인 선 구조를 제거하려면 어떻게합니까? –

답변

1

스펙트럼 분석은 "내 것이"이 아니지만 단계는 다음과 같습니다.

은 원본 이미지를 가지고 생성하는 FFT를 수행

  • 위상 이미지
  • 크기 이미지
  • 스펙트럼 (로그 ​​규모) 당신은 이미 갖고있는 것 같다

. 이제 스펙트럼 이미지를 가지고 :

enter image description here

를 모든 오프 중심을 마스크 같은 다른 색으로 하이라이트 :

enter image description here

과 차이가 원래의 스펙트럼 당신 때문에 이 같은 편집의 마스크를 얻을 :

enter image description here

원래 크기로 새 마스크를 곱하고 원래 위상과 결합하여 역 FFT를 수행합니다. 내 엉성한 편집과 능력의 결과로 이것을 얻었습니다!

enter image description here

+0

제발 도와 줄 수있는 코드를 알려주십시오. 감사합니다. –

+0

저는 OpenCV **를 사용하지 않았습니다. 기술을 보여 주었기 때문에 작성하고, 컴파일하고 테스트하기를 원하지 않았습니다. 난 그냥 명령 줄에서 ** ImageMagick **을 사용하여 FFT, 차이, 곱하기 및 역 FFT를 수행했습니다. –