Input:
Các vùng có thểlà Số CMND: L = {bi}, với bi = (xbi, ybi, wbi, hbi)
Ảnh mầu thu được từ bước tiền xửlý: IColor
Output: Ảnh mầu vùng Số CMND: INumber
Process:
1. Tìm dòng “GCMND”: bTitle = {bi | xbi max}
2. vùng Số CMND: bNumber
a. Nếu hbTitle > hbMaxTitle tách bNumber từbTitle
b. Ngược lại, Tìm bNumber trong L (nằm ngay dưới bTitle)
3. Tách lấy vùng Số CMND: INumber = Clip(IColor, bNumber)
Trong đó, hbMaxTitle là chiều cao lớn nhất có thể của dòng “GCMND”, được xác định dựa vào chiều cao trung bình của các ký tự. Với trường hợp hai dòng dính nhau, dòng Số CMND có chiều dài ngắn hơn dòng “GCMND”, dựa vào hình chiếu dọc và ngang
để tách riêng hai dòng này. Còn trường hợp không tìm thấy vùng nào nằm ngay dưới vùng có kích thước lớn nhất, có nghĩa là vùng Số CMND đã bị mờ mất. Sau khi xác định được vùng Số CMND, tách lấy vùng ảnh tương ứng trên ảnh mầu đầu vào (đã được căn chỉnh độ nghiêng) để chuyển sang bước tiếp theo Hinh 3. 5a.
3/. Phân đoạn vùng Số CMND
Trong phần này sẽ tiến hành phân đoạn để loại bỏ đi những đường lượn sóng nằm ngang trong khi vẫn phải giữ được các đặc trưng nét bút của chữ số. Việc này là rất khó khăn, bởi vì các chữ số có thể bị nhoè mờ và nét chữ có độ đậm nhạt thay đổi, trong khi các đường lượn sóng lại có bề dày khác nhau, thậm chí là tương đồng với bề dày nét bút. Do đó, cần ước lượng bề dày và làm mờ đường lượn sóng trước khi tiến hành phân đoạn, thuật toán cụ thể như trong (Thuật toán 3.3).