간단한 템플릿 매칭만으로도 매우 간단하게 해결할 수 있습니다. 어떻게 설정했는지 정확히 알지 못하므로 알고리즘을 일반적으로 설명하고 그림을 사용합니다.
구절의 숫자는 구절의 시작과 끝을 쉽게 감지하는 데 사용할 수있는 뚜렷한 경계를 가지고 있습니다. 따라서 해당 패턴에 대한 이진화 된 템플릿을 만들어 저장하십시오. 이 같은:
화면의 줄 수는 미리 알려져 있고 (페이지 서식을 지정하는 경우) 각 구절의 높이가 일정하기 때문에 구절 중심선의 Y 좌표가 화면에 있어야하는 위치 (알고리즘)를 쉽게 추론 할 수 있습니다. . 이것은 아이디어를 보여줍니다 :
사용자가 구절을 터치하면 XY 좌표를 얻고 Y 좌표를 가장 가까운 구절 중심에 스냅합니다.
그런 다음 X 좌표로 시작하여 해당 행에서 간단한 템플릿 일치 (상관 상관)를 수행하십시오. 정방향 (왼쪽)의 첫 번째 일치 (교차 상관)는 구절의 끝 점이됩니다. 반대 방향 (오른쪽)에 일치하는 항목이 없으면 한 구절 위로 이동하고 (중심선의 Y 좌표를 알고 있기 때문에 할 수 있음) 반복하십시오. 왼쪽 끝에서 첫 번째 경기는 구절의 시작점이됩니다. 마찬가지로 선에 일치하는 항목이 없으면 한 줄 아래로 이동하고 반복하십시오.
여기 아이디어에 대한 간단한 설명이 있습니다. 노란색 상자는 사용자가 구절을 터치하는 곳입니다. 그런 다음 템플릿과 상호 상관을 수행하면 파란색 원이 일치합니다.
나는 당신이 그것을보고 관심이 있다면 이 답변에 템플릿 일치를 사용 합니다.
구절의 시작 지점을 결정한 후에는 아랍어 텍스트 인식기를 사용하여 해당 경계 안의 구절 번호를 추론하고 해당 오디오 파일을 재생하십시오.
더 간단한 해결책 :
더 간단한 해결책은, 이것을 원하지 않는다면 구절 시작점의 XY 좌표를 저장하는 것입니다 (간단하게 유지하고 중심점을 사용하십시오) 일단 사용자 입력의 좌표를 얻으면 다시 스냅 할 수 있습니다 그것을 중심선으로 옮긴 다음 뒤로 걸어서 구절이 시작되는 곳을 봅니다. 이것은 더 빠르다는 이점이 있습니다.
의견에서 비슷한 아이디어를 거부하는 것처럼 보였으므로 이것을 첫 번째 해결책으로 제시하지 않았습니다. 결국, 그것은 계산 작업 (템플릿 일치-템플릿을 저장해야 함) 또는 메모리 (저장 좌표)를 사용하는 제약 조건에 달려 있습니다.
내가 당신이라면 아마 이것과 함께 갈 것입니다. 그러나 이미지 처리 솔루션은 재미있을 수 있습니다.