이것은 Gabor 필터링 후 얻은 이미지입니다. 밝은 흰색의 둥근 결함을 제외하고 이미지 내부의 선을 제거하는 방법이 있습니까?
개버 필터의 다른 방향을 시도한 결과는 다음과 같습니다.
임계 값 초과 후 : 충분하지만 좋지 않은 경우
중앙값 필터링 후 :
미리 감사드립니다
이것은 Gabor 필터링 후 얻은 이미지입니다. 밝은 흰색의 둥근 결함을 제외하고 이미지 내부의 선을 제거하는 방법이 있습니까?
개버 필터의 다른 방향을 시도한 결과는 다음과 같습니다.
임계 값 초과 후 : 충분하지만 좋지 않은 경우
중앙값 필터링 후 :
미리 감사드립니다
답변:
Gábor-filter의 출력이 신뢰할 수 있고 이미지 데이터의 변동이 너무 커서 결과가 완전히 다르게 보이지 않으면 다음 접근 방식을 사용할 수 있습니다 (이미 언급 한 부분).
자동 임계 값 알고리즘으로 두 번째 이미지를 이진화하십시오. 작동하는 임계 값의 범위는 알 수 있습니다.
구성 요소 레이블 알고리즘을 사용하여 연결된 각 픽셀 영역에 고유 한 값을 레이블하십시오.
이미지의 모든 구성 요소에 대해 객체가 채워진 원에 얼마나 가까운 지 설명하는 속성을 계산하십시오. 이를 위해 예를 들어 compactness를 사용할 수 있습니다 . 나는 동등한 디스크 반경 내에서 픽셀의 분수 아래를 사용했습니다 . 이 반지름은 객체와 동일한 면적을 가진 디스크의 반지름입니다.
자동 이진화가 제대로 작동하는지 확인하려면 다음과 같이 임계 값이 매우 낮고 매우 높습니다.
컴포넌트 라벨링은 응용 프로그램에 중요하지 않습니다. 직접 구현 해야하는 경우 매우 간단한 방법을 사용하는 것이 좋습니다. Wikipedia 사이트 의 one pass 버전 은 매우 쉽습니다. 기본적으로 바이너리 이미지를 반복하고 흰색이고 아직 레이블이없는 픽셀을 만나면이 객체에 대해 새 레이블을 사용 하여이 픽셀로 시작합니다.
이 객체에 레이블을 붙이는 과정은 기본적으로 플러드 필과 유사합니다. 이것은 Wikipedia 사이트에서 알고리즘의 내부 단계 1-4입니다. 이 레이블이 지정된 픽셀로 시작하여 모든 이웃을 스택에 넣습니다 ( 벡터 사용 ). 스택의 픽셀의 경우 전경인지 라벨이 없는지 확인합니다. 레이블을 지정해야하는 경우 모든 이웃을 스택에 다시 넣습니다. 스택이 비워 질 때까지이 작업을 수행하십시오.
그런 다음 이미지를 통해 스캔을 계속하십시오. Wiki 사이트의 설명과 달리 원본 이미지에서 픽셀을 제거 할 필요는 없으며 레이블 이미지에 0과 다른 값이 있으면 건너 뜁니다.
몇 가지 아이디어 :
편집 : 중간 필터링 단계 후 대부분의 방법입니다. 잘 했어! 위에서 제안한 항목 2 (닫은 다음 지역 레이블)는 나머지 방법을 안내하는 한 가지 기술입니다.