L ỜI CẢM ƠN
3.5. Chỉnh sửa góc nghiêng văn bản
Sau khi thao tác với ảnh trung gian và xác định được góc nghiêng cho toàn văn bản. Để chỉnh sửa góc nghiêng cho văn bản ta xoay lại ảnh với góc lệch tìm được. Xoay ảnh là một trong những kỹ thuật phổ biến nhất của mọi hệ thống xử lý ảnh. Thuật toán xoay ảnh đơn giản là chuyển một điểm ảnh (x,y) từ ảnh ban đầu thành điểm ảnh mới có tọa độ (x’, y’) trong ảnh kết quả với (x’, y’) được xác định theo công thức:
x’ = x.cos + y.sin
y’ = y.sin - x.cos
Trong cài đặt, những điểm ảnh (x’, y’) đầu tiên được tính theo công thức xoat, vì các giá trị là những số thực nên tiếp theo ta lấy phần nguyên của chúng để được một điểm trong ảnh đích và gán cho điểm ảnh này màu của điểm (x, y) trong ảnh gốc. Giả sử ta cần xoay ảnh Image với chiều rộng là M chiều cao N ta có thuật toán xoay ảnh Image thành ảnh DestImage như sau:
O x y P(x,y) P’(x’,y’)
Với hàm Trunc là hàm làm tròn một số thực thành một số nguyên gần nó nhất.
Tuy nhiên, có một vấn đề kinh điển trong các kỹ thuật xoay ảnh mà bất kỳ hệ thống xử lý ảnh nào cũng gặp phải là giải quyết những “lỗ hổng” hay những điểm không được gán màu trong ảnh kết quả khi thực hiện xoay ảnh. Lý do dẫn đến những “lỗ hổng” này chính là từ công thức xoay ảnh, do phải làm tròn các giá trị thành số nguyên nên trong ảnh đích có một số điểm ảnh không tương ứng được ánh xạ từ ảnh gốc sang.
Để giải quyết vấn đề này, chúng ta lấp các “lỗ hổng” bằng cách duyệt ảnh đích và gán màu cho chúng dựa vào màu của các láng giềng. Với ảnh đen trắng, các “lỗ hổng” được gán màu đen. Tuy nhiên, trong các ảnh màu, nếu các láng giềng của một “lỗ hổng” có các màu khác nhau, việc chọn một màu cho “lỗ hổng” cũng là tùy ý và thường thì sẽ lấy màu trung bình giữa các màu của các láng giềng.
For x:=1 to M do For y:=1 to N do
Begin
c := Getpixel(Image,x,y); x1:= x.cos + y.sin; y1:= y.sin - x.cos; x0:= Trunc(x1); y0:= Trunc(y1); Setpixel(DestImage, x0, y0, c); End;
CHƯƠNG 4. XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM
Trên cơ sở lý thuyết đã tìm hiểu, tiến hành xây dựng chương trình xử lý góc nghiêng ảnh văn bản gồm các chức năng chính như: vẽ biểu đồ mức xám, convert sang ảnh nhị phân và ảnh đa cấp xám, dò biên của các đối tượng trong ảnh bằng phương pháp: Sobel, Laplace, Canny, Gradient. Và cuối cùng là chức năng tự động phát hiện và hiệu chỉnh góc nghiêng cho cả ảnh văn bản màu và ảnh đen trắng thuần túy.