Tách dòng và ký tự

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng (Trang 71 - 74)

Chương 5 : GIẢI THUẬT

5.2 Xác định dòng và tách ký tự

5.2.3 Tách dòng và ký tự

Sau khi loại bỏ được đường kẻ ta tiến hành tách dòng và ký tự.

Đầu tiên ta tiến hành xác định vị trí trí của các dịng chứa ký tự bằng cách sử dụng phương pháp biến đổi hình thái. Ta tiến hành xói mịn (Erosion) để loại bỏ bớt một số nhiễu trắng sử dụng hàm erode. Sau đó ta tiến hành giãn nở (Dilation) hình ảnh dùng hàm dilated khi đó các vùng trắng liền kề sẽ được liên kết với nhau và ta sẽ đánh dấu được các dịng có chứa ký tự.

Hình 5.9: Xác định dịng

Sau khi ta nối được các ký tự trên cùng một dịng ta sẽ tiến hành tìm đường bao của. Sau đó dùng lớp QRect của QT Creator để vẽ hình chữ nhật bao quanh các dòng chứa ký tự. Vị trí và kích thước của những hình chữ nhật sẽ được lưu trong lớp QList.

Và để tách được từng dịng ta tiến hành trích xuất hình ảnh theo vị trí và kích thước của đường bao hình chữ nhật đã lưu trong QList.

Hình 5.10: Dịng sau khi được tách

Việc tiếp theo là tách từng ký tự, cách thức tiến hành ta cũng tiến hành gần giống việc tách dịng

Đầu tiên ta cũng tiến hành xói mịn để tách những ký tự dính nhau trên hình. Sau đó ta tiến hành tìm đường bao của hình. Kế tiếp ta tiến hành kẻ những đường kẻ dọc có chiều cao bằng chiều cao đường bao từng ký tự theo từng cột của hình từ trái sang phải tại vị trí cột nào mà khơng có bất kỳ điểm trắng nào đường kẻ sẽ không được vẽ ta sẽ tiến hành vẽ cho tới khi kết thúc khung hình.

Hình 5.11: Xác định vị trí ký tự

Sau khi đánh dấu được vị trí của từng ký tự ta cũng tiến hành xác lại đường bao và lưu lại địa chỉ của từng ký tự trong QList rồi trích xuất ký tự ra thành từng ký tự riêng lẻ và thay đổi kích thước từng hình thành 80x80 pixel để thuận tiện cho việc huấn luyện.

Hình 5.12: Vùng ký tự sau khi tách

Giao diện thực hiện: Để tiến hành tách ký tự ta nhấn vào button Extract Characters trên giao diện. Sẽ có dịng báo trạng thái trên label để tiện theo dõi. Sau khi hoàn thành việc tách ký tự trên frame sẽ hiển thị ảnh và có đánh dấu các dịng (Hình chữ nhật xanh) và từng ký tự (Hình chữ nhật đỏ).

Hình 5.13: Giao diện chương trình tách ký tự

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng xử lý ảnh trong việc nhận dạng và trích xuất thông tin, dữ liệu trong các tờ hóa đơn bán hàng (Trang 71 - 74)