Kích thƣớc và vị trí

Một phần của tài liệu Nhận dạng chữ viết tay tiếng Việt sử dụng mạng nơron (Trang 66 - 67)

Tất cả hình ảnh đƣợc lấy mẫu xuống trƣớc khi đƣợc sử dụng. Điều này giúp cho mạng nơron không bị nhầm lẫn về vị trí và kích thƣớc. 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ẽ. Quá trình này đƣợc thực hiện bên trong phƣơng thức downsample của lớp Entry.java. 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ự. Điều này đƣợc thực hiện bằng cách sử dụng một lớp "PixelGrabber".

Để cắt hình ảnh và loại bỏ bất kỳ khoảng trống xung quanh, 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 va từ dƣới của hình ảnh, nếu gặp điểm ảnh nào thì dừng lại 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.

Một phần của tài liệu Nhận dạng chữ viết tay tiếng Việt sử dụng mạng nơron (Trang 66 - 67)