TeX 스택 교환 에서이 질문의 단락에서 "강"을 감지하는 방법에 대해 논의했습니다 .
이러한 맥락에서, 강은 텍스트에서 단어 간 공간의 우연한 정렬로 인해 발생하는 공백 밴드입니다. 이것은 독자에게 혼란을 줄 수 있기 때문에 나쁜 강은 타이포그래피의 열악한 증상으로 간주됩니다. 강이있는 텍스트의 예는 대각선으로 흐르는 두 개의 강이있는 것입니다.
이러한 하천을 자동으로 감지하여 피할 수 있도록 (텍스트를 수동으로 편집하여) 관심이 있습니다. Raphink는 TeX 레벨에서 약간의 진전을 이루고 있지만 (글리프 위치와 경계 상자 만 알고 있음) 강을 감지하는 가장 좋은 방법은 이미지 처리를 사용하는 것입니다 (글리프 모양이 매우 중요하고 TeX에서는 사용할 수 없기 때문에) . 위 이미지에서 강을 추출하는 다양한 방법을 시도했지만 소량의 타원체 블러 링을 적용하는 간단한 아이디어로는 충분하지 않은 것 같습니다. 나는 또한 라돈을 시도거친 변환 기반 필터링이지만 그중에서도 아무 것도 얻지 못했습니다. 강은 인간의 눈 / 망막 / 뇌의 특징 감지 회로에 매우 잘 보입니다. 어떤 아이디어?
구체적으로, 위 이미지에서 2 개의 강을 감지하지만 다른 오 탐지가 너무 많지 않은 작업을 찾고 있습니다.
편집 : endolith는 TeX에서 글리프 위치, 간격 등에 액세스 할 수 있고 이미지를 처리하는 알고리즘을 사용하는 것이 실제 텍스트를 검사하는 알고리즘을 사용하는 것이 훨씬 빠르고 안정적이라는 점을 고려하여 이미지 처리 기반 접근 방식을 추구하는 이유를 물었습니다. 일을 다른 방법을 수행하기위한 내 이유는 것입니다 모양글리프 중 하나는 강이 얼마나 눈에 띄는가에 영향을 줄 수 있으며 텍스트 수준에서이 모양 (글꼴, 합자 등에 따라)을 고려하는 것은 매우 어렵습니다. 글리프의 모양이 어떻게 중요한지에 대한 예를 들어, 다음 두 가지 예를 고려하십시오. 그들 사이의 차이점은 텍스트 기반 분석이 고려할 수 있도록 몇 개의 글리프를 거의 같은 너비의 다른 글리프로 대체 한 것입니다. 그것들은 똑같이 좋거나 나쁘다. 그러나 첫 번째 예의 강은 두 번째 예보다 훨씬 나쁩니다.
ImageLines[]
전처리 과정을 거치지 않고 Mathematica에서 사용 했습니다. 이것이 기술적으로 라돈 변환 대신 허프를 사용하는 것 같습니다. 적절한 전처리 (datageist의 제안 된 확장 필터를 시도하지 않았 음) 및 / 또는 매개 변수 설정 이이 작업을 수행 할 수 있는지 놀라지 않을 것입니다.