[LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll
Trang 1 trong tổng số 1 trang
[LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll
• 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 và 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 Leptonica: https://metacpan.org/release/Image-Leptonica
+ Tài liệu api libTesseract: http://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.
+ 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
- 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 và 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 Leptonica: https://metacpan.org/release/Image-Leptonica
+ Tài liệu api libTesseract: http://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.
+ 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.
Re: [LibTesseract UDF] - Nhận dạng ký tự (OCR) mạnh mẽ dựa vào thư viện libTesseract.dll
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
- 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
Similar topics
» [ImageRE UDF] Thư viện Tìm kiếm ảnh đầy sức mạnh (Advanced Image Search)
» [Wkx4Au3 UDF] Tạo Webkit Control - Tương tác Web mạnh mẽ, dễ dùng
» [MinHook UDF] Thư viện hỗ trợ hook api Window
» [SSH UDF] - Thư viện kết nối SSH, tạo SOCKS, định tuyến HttpProxy
» [Wkx4Au3 UDF] Tạo Webkit Control - Tương tác Web mạnh mẽ, dễ dùng
» [MinHook UDF] Thư viện hỗ trợ hook api Window
» [SSH UDF] - Thư viện kết nối SSH, tạo SOCKS, định tuyến HttpProxy
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|