[VB.NET] Using Emgu CV to extract text from images

Xin chào mọi người.

Mình vừa đọc bài viết bên Laptrinhvb có bài viết này cũng khá hay, và tiện cho nhiều anh em bạn bè muốn lấy text ra ở hình ảnh, với đoạn code và Fill .Dll của Emgu CV 2.4 sẽ giúp cho mọi người thông tách Text ở hình ảnh nhanh nhất.

Chúng ta bắt đầu với thủ thuật trên nhé.

Đầu tiên mình xin giới thiệu Emgu CV là một thư viện dùng để xử lý hình ảnh: Nhận dạng khuôn mặt, mũi, mắt, xử lý hình ảnh ...(Detect Face..)

Bài hướng dẫn mình đang sử dụng Emgu CV 2.4, phiên bản hiện tại đang là phiên bản 3.0, các bạn có thể tải bộ thư viện trang đường dẫn:

Download Emgu

Để sử dụng thư viện Emgu CV rất khó, nên mình đã quay video lại để các bạn tiện tham khảo:


- Trong ví dụ trên sử dụng : 1 picturebox, 1 Richtextbox, 1 Timer1 button.

Đầu tiên ta import thư viện vào

Imports Emgu.CV
Imports Emgu.Util
Imports Emgu.CV.OCR
Imports Emgu.CV.Structure

Khai báo 1 Tesseract, BitmapGraphics

Dim OCRz As Tesseract = New Tesseract("tessdata", "eng", Tesseract.OcrEngineMode.OEM_DEFAULT)
    Dim pic As Bitmap = New Bitmap(270, 100)
    Dim gfx As Graphics = Graphics.FromImage(pic)

Code cho timer1 sự kiện tick()

gfx.CopyFromScreen(New Point(Me.Location.X + PictureBox1.Location.X + 4, Me.Location.Y + PictureBox1.Location.Y + 30), New Point(0, 0), pic.Size)
        PictureBox1.Image = pic
        PictureBox1.Image = Nothing

Cuối cùng là viết sự kiện cho button:

 OCRz.Recognize(New Image(Of Bgr, Byte)(pic))
        RichTextBox1.Text = OCRz.GetText

Chúc mọi người thành công với thủ thuật trên.

Post a Comment

Previous Post Next Post