Điều này có thể được giải quyết khá đơn giản với việc khớp mẫu đơn giản. Tôi không biết chính xác bạn đã thiết lập nó như thế nào, vì vậy tôi sẽ chỉ mô tả thuật toán nói chung và sử dụng các hình ảnh minh họa.
Quan sát rằng các số câu có một đường viền đặc biệt có thể dễ dàng được sử dụng để phát hiện bắt đầu và kết thúc của một câu. Vì vậy, tạo một mẫu nhị phân cho mẫu đó và lưu trữ nó. Một cái gì đó như thế này:
Vì số lượng dòng trong một màn hình được biết trước (bạn đang định dạng trang) và mỗi câu có chiều cao không đổi, bạn có thể dễ dàng suy ra (theo thuật toán) trong đó tọa độ Y cho các đường trung tâm của câu thơ sẽ xuất hiện trên màn hình . Điều này thể hiện ý tưởng:
Khi người dùng chạm vào một câu, hãy lấy tọa độ XY và đưa tọa độ Y đến trung tâm câu gần nhất.
Sau đó bắt đầu với tọa độ X, thực hiện khớp mẫu đơn giản (tương quan chéo) trên hàng đó. Trận đấu đầu tiên (đỉnh trong tương quan chéo) theo hướng chuyển tiếp (bên trái), sẽ là điểm kết thúc cho câu thơ. Nếu không có kết quả khớp theo hướng ngược lại (bên phải), sau đó di chuyển lên một câu (điều bạn có thể làm, vì bạn biết tọa độ Y của đường tâm) và lặp lại. Trận đấu đầu tiên từ đầu bên trái sẽ là điểm bắt đầu của câu thơ. Tương tự, nếu không có kết quả khớp phía trước trên dòng, di chuyển xuống một dòng và lặp lại.
Đây là một minh họa ngắn về ý tưởng. Hộp màu vàng là nơi người dùng chạm vào câu thơ. Sau đó, bạn thực hiện tương quan chéo với mẫu của bạn và các vòng tròn màu xanh sẽ phù hợp.
Tôi cũng sử dụng so khớp mẫu trong câu trả lời này , nếu bạn muốn thấy nó hoạt động.
Khi bạn đã xác định điểm bắt đầu của câu thơ, sau đó sử dụng trình nhận dạng văn bản tiếng Ả Rập để suy ra số câu trong đường viền đó và phát tệp âm thanh tương ứng.
Giải pháp đơn giản hơn:
Một giải pháp đơn giản hơn, nếu bạn không muốn thực hiện điều này là lưu trữ tọa độ XY của các điểm bắt đầu câu (giữ cho nó đơn giản và sử dụng các điểm trung tâm) và khi bạn nhận được tọa độ của đầu vào của người dùng, bạn có thể chụp lại nó đến đường trung tâm và sau đó đi về phía sau để xem câu thơ bắt đầu từ đâu. Điều này có thể có lợi thế là nhanh hơn.
Tôi đã không đưa vấn đề này trở thành giải pháp đầu tiên bởi vì bạn dường như từ chối một ý tưởng tương tự trong các bình luận. Cuối cùng, nó phụ thuộc vào các ràng buộc của bạn - bạn muốn thực hiện công việc tính toán (khớp mẫu - bằng cách này, cũng yêu cầu bạn lưu trữ mẫu) hoặc sử dụng bộ nhớ (lưu trữ tọa độ).
Nếu tôi là bạn, có lẽ tôi sẽ dùng cái này, nhưng giải pháp xử lý ảnh có thể thú vị để thử.