Nhận dạng văn bản trên hình ảnh OCR

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

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.

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.

Đ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.

Xem thêm