Thuật toỏn phỏt hiện và hiệu chỉnh gúc nghiờng văn bản

Một phần của tài liệu Giáo trình môn xử lý ảnh ppt (Trang 88 - 91)

a) Xử lý ngoại lệ

Sau giai đoạn tiền xử lý ảnh ta thu được ảnh trung gian TempImage. Thuật toỏn phỏt hiện gúc nghiờng sẽ làm việc với ảnh trung gian này để tỡm ra gúc nghiờng cho văn bản và sau đú dựng thuật toỏn quay ảnh để quay ảnh ban đầu với gúc nghiờng vừa tỡm được.

Tuy nhiờn, một điểm cần được xột đến trong thuật toỏn phỏt hiện gúc nghiờng là xử lý những ảnh văn bản phức tạp hoặc cỏc trường hợp ngoại lệ. Ta sẽ lần lượt đưa ra cỏc phương ỏn xử lý cho cỏc trường hợp này.

Ảnh cú quỏ ớt ký tự

Hỡnh 6.4. Vớ dụ về một ảnh nghiờng cú ớt ký tự chữ cỏi

Trường hợp thứ nhất là trong ảnh cú quỏ ớt ký tự chữ cỏi chưa đủ để xỏc định được gúc nghiờng. Cỏc đối tượng trong ảnh chủ yếu là ảnh hoặc nhiễu, đặc biệt cỏc ký tự nghiờng cỏc gúc khỏc nhau do đặc thự riờng của ảnh. Hỡnh vẽ dưới đõy minh hoạ một ảnh văn bản nghiờng với số ký tự rất ớt.

Vỡ vậy, ta chỉ đưa ra kết luận về gúc nghiờng cho văn bản trong trường hợp số lượng cỏc đối tượng này phải lớn hơn một ngưỡng nào đú. Trong chương trỡnh số lượng này được chọn bằng 70 đối tượng.

Cỏc đối tượng bao nhau

Trường hợp ngoại lệ khỏc là cỏc đối tượng bao nhau. Đõy là một cản trở đối với những thuật toỏn xỏc định gúc nghiờng khỏc đặc biệt là những thuật toỏn theo phương phỏp phõn tớch lỏng giềng thõn cận như đó được đề cập ở trờn.

Mặc dự số ký tự trong văn bản cú thể rất nhiều nhưng cỏc ký tự hầu hết bị chứa trong cỏc đối tượng khỏc lớn hơn nhiều chẳng hạn như ảnh hay bảng biểu. Hỡnh 5.5 dưới đõy minh họa cho cho trường hợp cỏc ký tự bị bao bởi đối tượng ảnh. Khi đú, nhiệm vụ là phải nhận ra được sự bao hàm giữa cỏc đối tượng và tỏch, lấy được cỏc đối tượng ký tự bị bao bởi

cỏc đối tượng

lớn hơn.

Hỡnh 6.5. Vớ dụ về văn bản nghiờng cú cỏc đối tượng bao nhau

Ở đõy, ta dựng một kỹ thuật búc dần những đối tượng lớn ngoại cỡ để xỏc định những ký tự trong đú. Một đối tượng được gọi là cú kớch thước ngoại cỡ được quy ước là đối tượng cú chiều rộng và chiều cao lớn hơn 200 pixel. Nếu trong quỏ trỡnh dũ biờn ta gặp một đối tượng như vậy, ta sẽ cỏch ly nú ra khỏi tập đối tượng đang xột. Cỏc đối tượng này sẽ được dựng đến nếu cuối cựng số đối tượng được chọn để ỏp dụng biến đổi Hough bộ hơn 70. Ta xem như đối tượng này là một ảnh và tiếp tục duyệt cỏc đối tượng bờn trong nú để lấy ra những đối tượng ký tự.

b) Thuật toỏn phỏt hiện gúc nghiờng văn bản dựa vào biờn

Bước 1: Tiền xử lý ảnh màu Image được ảnh trung gian TempImage

Bước 2: Xỏc định chu tuyến ngoài cho cỏc đối tượng:

Duyệt ảnh từ trờn xuống dưới, từ trỏi sang phải, điểm ảnh hiện tại là (x,y):

• Nếu (x,y) cú màu khỏc màu nền và chưa xột Label [x][y]=0 : - Tăng giỏ trị nhón lờn một đơn vị: label=label+1.

- Gọi hàm xỏc định chu tuyến DetectAnObject với điểm xuất phỏt (x,y), rec dựng lưu hỡnh chữ nhật chứa đối tượng, hàm trả về -1 nếu đối tượng cụ lập, 1 nếu đối tượng cú kớch thước bỡnh thường và 0 trong trường hợp ngược lại cú kớch thước kỳ lạ.

- Nếu hàm chu tuyến trả về 1 : + Tăng số đối tượng: Id=Id+1. + Lưu lại Rec[Id] =rec.

+ Duyệt từ phải sang trỏi, tỡm điểm cựng hàng cú nhón bằng label và nhảy tới đú.

- Ngược lại nếu hàm DetectAnObject trả về 0:

+ Nếu rec.Wid > 200 và rec.Hei > 200 ( kớch thước quỏ lớn) thiết lập màu nền cho cỏc điểm biờn lấy điểm (x,y+1) làm điểm xột tiếp theo.

+ Ngược lại, duyệt từ phải sang trỏi tỡm điểm cựng hàng đầu tiờn cú nhón bằng label và nhảy tới đú.

• Nếu (x,y) cú màu khỏc màu nền và đó xột, Label [x][y] > 0, duyệt từ phải sang trỏi tỡm điểm đầu tiờn cựng hàng cú nhón bằng Label [x][y] và nhảy tới đú.

Bước 3: Dựng mảng Rec[N] xỏc định cỏc giỏ trị ngưỡng trung bỡnh WidAvr, HeiAvr và PrmAvr.

Bước 4: Áp dụng biến đổi Hough Với mỗi phần tử Rec[i] của mảng Rec:

Nếu Rec[i].Pmr< 6*PrmAvr và Rec[i].Wid< 4*WidAvr và Rec[i].Hei< 4*HeiAvr , ỏp dụng biến đổi Hough cho điểm giữa đỏy của hỡnh chữ nhật.

Bước 5: Dựng mảng kết quả Hough[360][Dis] ước lượng gúc nghiờng cho văn bản:

• Gỏn giỏ trị cực đại cỏc phần tử của mảng Hough[360][Dis] cho max. • Gỏn maxtotal = 0.

- Khởi tạo cho tổng cỏc giỏ trị của hàng: total = 0.

- Với mỗi giỏ trị cột j, nếu Hough[i][j] > max/2, tăng tổng total = total+Hough[i][j].

- Nếu total> maxtotal: + maxtotal = total. + Gúc lệch ϕ = i.

Bước 6: Quay lại ảnh Image với gúc lệch ϕ vừa xỏc định được từ bước 5.

Một phần của tài liệu Giáo trình môn xử lý ảnh ppt (Trang 88 - 91)