Nhận dạng ký tự quang học (OCR) là quá trình trích xuất văn bản từ hình ảnh. Bạn có thể có hình ảnh trực tuyến và ngoại tuyến mà từ đó bạn có thể cần trích xuất thông tin văn bản. Bạn có thể thực hiện OCR trên hình ảnh ngoại tuyến, nhưng bạn có thể nghĩ rằng để thực hiện OCR trên hình ảnh trực tuyến, bạn sẽ phải tải chúng xuống. Chà, điều đó không bắt buộc. Trong bài viết này, bạn sẽ học cách thực hiện OCR trên hình ảnh bằng cách sử dụng URL của chúng với C ++.
- API C ++ để thực hiện OCR trên hình ảnh từ URL
- Nhận dạng văn bản bằng cách thực hiện OCR trên một hình ảnh từ URL bằng C ++
- Nhận dạng văn bản từ các vùng hình ảnh đã chọn bằng cách xác định vùng nhận dạng bằng C ++
API C ++ để thực hiện OCR trên hình ảnh từ URL
Aspose.OCR cho C ++ là một API nhận dạng ký tự quang học có thể thực hiện các hoạt động OCR trên hình ảnh và tài liệu được quét một cách đáng tin cậy. API cũng cho phép bạn thực hiện OCR trên hình ảnh từ URL. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.
PM> Install-Package Aspose.OCR.Cpp
Nhận dạng văn bản bằng cách thực hiện OCR trên một hình ảnh từ URL bằng C ++
Sau đây là các bước để thực hiện OCR trên hình ảnh từ URL.
- Chuẩn bị bộ đệm cho kết quả.
- Đặt RecognitionSettings.
- Thực hiện OCR trên hình ảnh bằng phương pháp asposeocrpagefromuri (const char \ uri, wchart \ buffer, sizet bufferize, RecognitionSettings settings).
Mã mẫu sau đây cho biết cách thực hiện OCR trên hình ảnh từ URL bằng C ++.
#include <fcntl.h>
#ifdef _WIN32
#include <corecrt_io.h>
#endif
int main()
{
#ifdef _WIN32
_setmode(_fileno(stdout), _O_U16TEXT);
#else
setlocale(LC_CTYPE, "");
#endif
// Url tệp nguồn
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Chuẩn bị bộ đệm cho kết quả (theo ký hiệu, len_byte = len * sizeof (wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Đặt cài đặt nhận dạng
RecognitionSettings settings;
settings.format = export_format::text;
// Thực hiện thao tác OCR trên hình ảnh.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Nhận dạng văn bản từ các vùng hình ảnh đã chọn bằng cách xác định vùng nhận dạng bằng C ++
Nếu bạn không muốn thực hiện OCR trên toàn bộ hình ảnh và muốn lấy kết quả từ các khu vực hình ảnh cụ thể, bạn có thể xác định các khu vực nhận dạng để thực hiện điều đó. Sau đây là các bước để thiết lập vùng nhận dạng cho hoạt động OCR.
- Xác định các vùng nhận dạng trong một mảng của cấu trúc trực tràng.
- Chuẩn bị bộ đệm cho kết quả.
- Đặt giá trị của thành viên cấu trúc RecognitionSettings.rectaries bằng với mảng khu vực nhận dạng đã xác định trước đó.
- Đặt giá trị của thành viên cấu trúc RecognitionSettings.rectanglessize bằng kích thước của mảng khu vực nhận dạng.
- Thực hiện OCR trên hình ảnh bằng phương pháp asposeocrpagefromuri (const char \ uri, wchart \ buffer, sizet buffersize, RecognitionSettings settings).
Đoạn mã mẫu sau đây trình bày cách sử dụng các vùng nhận dạng để nhận dạng văn bản từ các vùng cụ thể của hình ảnh bằng C ++.
#include <fcntl.h>
#ifdef _WIN32
#include <corecrt_io.h>
#endif
int main()
{
#ifdef _WIN32
_setmode(_fileno(stdout), _O_U16TEXT);
#else
setlocale(LC_CTYPE, "");
#endif
// Url tệp nguồn
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Xác định các khu vực Nhận dạng
rect rectangles[2] = { {90, 180, 770, 333} , { 923, 613, 780, 96 } };
// Chuẩn bị bộ đệm cho kết quả (theo ký hiệu, len_byte = len * sizeof (wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Đặt cài đặt nhận dạng
RecognitionSettings settings;
settings.format = export_format::text;
// Đặt các khu vực nhận dạng
settings.rectangles = rectangles;
// Chỉ định kích thước của mảng khu vực nhận dạng
settings.rectangles_size = 2;
// Thực hiện thao tác OCR trên hình ảnh.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Nhận giấy phép miễn phí
Để dùng thử API mà không có giới hạn đánh giá, bạn có thể yêu cầu giấy phép tạm thời miễn phí.
Sự kết luận
Trong bài viết này, bạn đã học cách thực hiện OCR trên hình ảnh từ bất kỳ địa chỉ URL nào bằng C ++. Hơn nữa, bạn đã thấy cách xác định các khu vực nhận dạng để thực hiện OCR chỉ trên các khu vực được chọn của hình ảnh. Aspose.OCR cho C ++ là một API mạnh mẽ cung cấp nhiều tính năng bổ sung để thực hiện OCR trên hình ảnh. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.