Mỗi lần ký tự được vẽ để huấn luyện hay để nhận dạng, nó phải được lấy mẫu xuống.
i) Lưu hình ảnh được lấy mẫu xuống
Chương trình thực hiện với một lưới kích thước M*N. Tất cả hình ảnh được lấy mẫu xuống được lưu trong lớp này, cũng bao gồm các phương thức đã thiết lập và nhận được dữ liệu liên kết với lưới lấy mẫu xuống và cũng chứa
một phương thức, đặt tên là clone, sẽ tạo ra một bản sao chính xác của hình ảnh
này.
ii)Kích thước và vị trí
Để mạng neural không bị nhầm lẫn về vị trí và kích thước thì tất cả hình ảnh được lấy mẫu xuống trước khi sử dụng. Vùng để vẽ đủ lớn để có thể vẽ ký tự với các kích thước khác nhau. Bằng cách lấy mẫu hình ảnh xuống một kích
thước phù hợp, do đó không còn quan tâm đến vấn đề ký tự được viết có kích thước như thế nào.
Khi vẽ một ký tự, đầu tiên chương trình sẽ vẽ một hộp xung quanh biên của ký tự. Điều này cho phép loại bỏ tất cả khoảng trống xung quanh ký tự được vẽ. Thực hiện cắt hình ảnh này, và cuối cùng lấy mẫu xuống, chúng ta phải lấy các mẫu bit của hình ảnh ký tự.
Việc cắt được thực hiện bằng cách kéo bốn đường ảo từ trên, bên trái, bên phải và từ dưới của hình ảnh nếu gặp điển ảnh nào thì dừng và không quét nữa. Bằng cách này bốn đường thẳng sẽ là các cạnh ngoài của hình ảnh. Cả hai phương thức hLineClear và vLineClear chấp nhận một tham số cho biết dòng
quét, và trả về giá trị true nếu dòng đó là trống. Chương trình hoạt động bằng
cách gọi hLineCIear và vLineClear cho đến khi gặp cạnh ngoài của ký tự. Để tính toán đường biên trên cùng của hình chữ nhật giới hạn ký tự, chương trình bắt đầu từ 0 và tiếp tục xuống dưới hình ảnh. Để tìm đường biên dưới thực hiện quét ngược lại từ dưới đáy hình ảnh ký tự lên. Các quy trình để xác định giới hạn trái và phải được thực hiện cũng theo cách này.
iii)Thực hiện lấy mẫu xuống
Phần lớn công việc thực hiện quá trình này được thực hiện trong phương thức lấy mẫu. Sau khi ký tự được cắt nó sẽ được lấy mẫu xuống. Hình ảnh có độ phân giải lớn được giảm xuống thành độ phân giải M*N. Tưởng tượng rằng ta vẽ một lưới lên trên ký tự, phân chia thành các hình vuông với M đường ngang và N đường xuống, Nếu bất kỳ điểm ảnh nào được điền đầy thì trong lưới M*N đó điểm ảnh tương ứng cũng được điền đầy
Phương thức chấp nhận số lượng vùng cần được tính toán. Đầu tiên, phải tính toán tọa độ x, y ban đầu và cuối cùng. Phương thức được sử dụng để tính toán tọa độ x cho vùng đầu tiên, đây là cạnh bên trái của hình chữ nhật bao quanh ký tự. Sau đó x được nhân với hệ số tỷ lệ x. Đó là tỷ lệ bao nhiêu pixel
cho mỗi ô vuông. Điều này cho phép xác định nơi đặt "startX", và điểm bắt đầu "startY" được tính toán theo cách tương tự. Tiếp theo lặp với mỗi tọa độ x và y thuộc mỗi hình vuông, Nếu có số chẵn pixel thì điền đầy, sau đó phương thức trả lại giá trị đúng. Điều này chỉ ra rằng miền này được điền đầy.