비트 맵에서 파선 또는 모양을 감지하고 수정하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1824890

  •  22-07-2019
  •  | 
  •  

문제

비트 맵에서 파선 또는 모양을 찾을 수있는 알고리즘을 찾고 싶습니다. 두 가지 색상의 비트 맵 (뒷면과 흰색)의 비트 맵 (색칠 서적에 사용 된 이미지)이있는 상황을 고려하면 서로 연결되어야하는 곡선과 선이 있지만 스캔 오류로 인해 흰색 비트가 대신 앉아 있습니다. 검은 색. 어떻게 감지해야합니까? (이 작업 후에는 비트 맵을 벡터 파일로 변환하고 싶습니다. Potrace 알고리즘으로 작업하고 싶습니다).

아이디어가 있으면 알려주세요.

도움이 되었습니까?

해결책

다음은 작은 간격을 치료하는 간단한 알고리즘입니다.

먼저, 8 개의 이웃 중 하나가 검은 색 일 때 검은 색 픽셀을 만드는 필터를 사용하십시오. 이것은 일반적인 개요가 커질 것입니다.

다음으로, 추가 개요를 제거하지만 채워진 간격을 단독으로 남겨 두는 얇은 필터를 사용하십시오.

일부 필터 및 매개 변수는이 기사를 참조하십시오. C#의 이미지 처리 실험실

다른 팁

가장 간단한 접근법은 폐쇄. 이것은 다른 선이 서로 얼마나 가까이 있는지와 관련하여 선의 간격이 상당히 작은 경우에만 작동합니다.

폐쇄를 수행하기 위해 구조화 ELEMT를 선택하는 방법은 성능을 향상 시키거나 악화시킬 수 있습니다.

Wikipedia 기사는 매우 이론적 (또는 수학적)이므로 Google 또는 이미지 처리에 관한 책으로 돌아가서 어떻게 수행되는지에 대한 더 나은 설명을 얻을 수 있습니다.

아마도 허프 변환 당신을 도울 수 있습니다. 보너스 : 벡터 파일의 라인 매개 변수를 얻습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top