AutoIt - Share UDF
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

[LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll

Go down

[LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll Empty [LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll

Bài gửi by Admin Wed Nov 18, 2020 12:13 am

Mô tả
- Nhận dạng ký tự thông qua Tesseract.exe thì hẳn đã quen thuộc với người dùng AutoIt nhưng tính năng của nó khá hạn chế cũng như muốn OCR thì ảnh phải nằm trong ổ cứng.
- Khi bạn cài đặt Tesseract thì ngoài Tesseract.exe, bộ cài đã bao gồm bộ thư viện rất mạnh là libTesseract.dll Leptonica.dll/libLept.dll (Leptonica là bộ thư viện xử lý ảnh hỗ trợ cho libTesseract), vậy tại sao ta không tận dụng bộ thư viện này để thực hiện ocr khi nó cung cấp những tính năng mà Tesseract.exe không có được, xử lý ảnh từ buff nhớ nhờ libLeptonica, OCR ảnh từ buff nhớ mà không cần phải có/lưu ảnh từ ổ cứng...
- UDF libTesseract.au3 giúp tương tác với thư viện libTesseract với những tính năng cơ bản đã được viết hoàn chỉnh, bạn có thể đọc tài liệu về libTesseract và Leptonica để phát triển tiếp cho bộ thư viện.
     + Tài liệu api Leptonicahttps://metacpan.org/release/Image-Leptonica
     + Tài liệu api libTesseracthttp://tess4j.sourceforge.net/docs/docs-1.5/net/sourceforge/tess4j/TessAPI.html



Sử dụng
  + Các hàm chính của UDF
       Tess_InstallDir(...): Nếu script nằm cùng thư mục với tesseract.exe (nói đơn giản là thư mục cài Tesseract) thì không cần khai báo Tess_InstallDir, nhưng nếu chúng nằm khác thư mục thì phải khai báo Tess_InstallDir
       Tess_NewSession(...): Tạo phiên ocr mới
       Tess_ChangeLanguage(...): Thay đổi ngôn ngữ ocr
       Tess_SetRectangle(...): Giới hạn phạm vi ocr ảnh, ví dụ ảnh dài 300, cao 300, nhưng mình chỉ muốn ocr ảnh ở vị trí left=0, top=0, dài=300, cao=150 thì sử dụng hàm này
       Tess_Recognize(...): Thực hiện ocr ảnh, đầu vào có thể là 1 tệp ảnh trên ổ cứng hoặc Binary Data của ảnh (request trên mạng về hoặc từ quá trình xử lý ảnh GDI+) hoặc một URL
       Tess_SetVar(...): Cài đặt variables cho ocr. Chi tiết tìm kiếm google từ khoá TessBaseAPISetVariable. Tổng hợp tất cả các variables nằm trong tệp tin "variables list.txt"
       Tess_ClearSession(...): Xoá cài đặt Language, OEM, variables... và giải phóng bộ nhớ đã sử dụng cho phiên ocr đã tạo

   + Một số hàm hỗ trợ mới thêm sau này:
       Tess_SetPicScale($ScaleX, $ScaleY): Tăng/Giảm size ảnh
       Tess_SetPicBrightness($Brightness): Chỉnh độ sáng: $Brightness từ -255 đến 255
       Tess_SetPicHue($Hue): Chỉnh tông màu: $Hue từ -360 đến 360
       Tess_SetPicSaturation($Saturation): Chỉnh độ bão hoà màu: $Saturation từ -255 đến 255

  + UDF đã bao gồm thư viện Tesseract 4.0 được build bởi nhà phát triển cppan, dành cho những ai chưa cài Tesseract có thể test nhanh.

  + UDF tương thích với Tesseract 3.0+

  + Tổng hợp tất cả các bản Tesseract: https://digi.bib.uni-mannheim.de/tesseract/


*Đường dẫn của ảnh trong ví dụ #OCR một link ảnh có thể sẽ không còn hiệu lực, bạn có thể thay một link ảnh khác để test.

[LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll Ft23Sdc

[LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll PZlxwKp

  + Chú ý: Đối với những ảnh cỡ nhỏ (tầm 100x100 trở xuống) thì chỉ nên tăng scale ảnh (bằng Tess_SetPicScale) khoảng 1.3 tới 1.8 thôi không nên tăng quá lớn, ảnh bị vỡ thì ocr sẽ không ra được kết quả như ý.



• Tải về:
https://1drv.ms/u/s!AhiIbjk1VKtOdENy0SVJSqJa1RQ


Được sửa bởi Admin ngày Sat Nov 20, 2021 1:42 pm; sửa lần 8.
Admin
Admin
Admin

Tổng số bài gửi : 22
Join date : 12/11/2020

https://autoit-udf.forumvi.com

Về Đầu Trang Go down

[LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll Empty Re: [LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll

Bài gửi by Admin Sun Oct 10, 2021 12:47 am

Update 10/10/2021:

- OCR hBitmap (hBitmap lấy từ _ScreenCapture chẳng hạn)
- Hàm Tess_Recognize sẽ không bao gồm 3 thông số $fScaleX, $fScaleY, $cScaleEffect nữa mà chúng sẽ được tách ra thành 1 hàm riêng là Tess_SetPicScale
- Sửa lỗi Tess_ChangeLanguage không set được nhiều language
- Thêm các hàm hỗ trợ:
    Tess_SetPicBrightness
    Tess_SetPicHue
    Tess_SetPicSaturation
    Tess_SetPicScale
Admin
Admin
Admin

Tổng số bài gửi : 22
Join date : 12/11/2020

https://autoit-udf.forumvi.com

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết