Trao quyền cho các ứng dụng C++ của bạn với OCR
Thành thạo OCR: Biến hình ảnh thành văn bản
Thêm phòng trưng bày >AsposeOCRInput source;
source.url = file_path_str.c_str();
vector<AsposeOCRInput> content = {source};
// Extract text from the image
AsposeOCRRecognitionResult result
= asposeocr_recognize(content.data(), content.size());
// Output the recognized text
size_t size = 0;
wchar_t* result = asposeocr_serialize_result(result, size);
> Install-Package Aspose.Ocr.Cpp
Tại sao Aspose.OMR lại dành cho C++?
Tạo và nhận dạng các dạng có thể đọc được bằng máy ở mọi bố cục và độ phức tạp trong các ứng dụng tại chỗ, dịch vụ web hoặc trên đám mây. Giải pháp của chúng tôi phù hợp với các dự án thuộc mọi quy mô - từ khảo sát và câu hỏi đơn giản đến các kỳ thi và bầu cử cuối kỳ. Nhấp vào các mục bên dưới để tìm hiểu thêm về các tính năng và lợi ích của chúng tôi.
Không cần thiết bị
Sử dụng máy photocopy văn phòng hiện có của bạn hoặc thậm chí là máy ảnh trên điện thoại thông minh thay vì đầu đọc OMR chuyên dụng.
Cá nhân hóa hoàn toàn
Cá nhân hóa biểu mẫu OMR bằng cách thêm mã QR và mã vạch, hình ảnh, trường chữ ký được tạo tự động, v.v.
Kết quả đáng tin cậy
Các thuật toán phát hiện dấu quang học mạnh mẽ cùng với khả năng tinh chỉnh nhận dạng đảm bảo kết quả chính xác 100%.
Giải pháp toàn diện
Aspose.OMR cho C++ hỗ trợ quy trình làm việc OMR hoàn chỉnh - từ thiết kế biểu mẫu đến nhận dạng các bản cứng đã điền của nó.
Thân thiện với nhà phát triển
API của chúng tôi cực kỳ dễ sử dụng ngay cả đối với các nhà phát triển thiếu kinh nghiệm. Một ứng dụng OMR đơn giản có thể được viết bằng 10 dòng mã.
Mẫu mã trực tiếp
Trải nghiệm sự đơn giản: Chuyển đổi hình ảnh thành văn bản chỉ bằng ba dòng mã C++!
* Bằng cách tải lên các tập tin của bạn hoặc sử dụng dịch vụ, bạn đồng ý với chúng tôi Điều khoản sử dụng Và Chính sách bảo mật.
Chuyển đổi hình ảnh thành văn bản
Khám phá thêm ví dụ > string file = "source.png";
AsposeOCRInput source;
source.url = file.c_str();
vector<AsposeOCRInput> content = {source};
RecognitionSettings settings;
settings.language_alphabet = language::eng;
size_t size = 0;
wchar_t* buffer = asposeocr_serialize_result(result, size);
wcout << wstring(buffer) << endl;
asposeocr_free_result(result);
Sức mạnh của C++ ở mọi nơi
Aspose.OCR cho C++ hoạt động liền mạch trên mọi nền tảng.
Các định dạng tập tin được hỗ trợ
Aspose.OCR for C++ có thể hoạt động với hầu như mọi tệp bạn có thể lấy từ máy quét hoặc máy ảnh. Kết quả nhận dạng được trả về ở các định dạng trao đổi dữ liệu và tệp phổ biến nhất có thể được lưu, nhập vào cơ sở dữ liệu hoặc phân tích trong thời gian thực.
Hình ảnh
- JPEG
- PNG
- TIFF
- BMP
OCR hàng loạt
- Multi-page PDF
- ZIP
- Folder
Kết quả công nhận
- Text
- Microsoft Word
- Microsoft Excel
- RTF
- JSON
- XML
Cài đặt
Aspose.OCR dành cho C++ được phân phối dưới dạng gói NuGet hoặc dưới dạng tệp có thể tải xuống với mức độ phụ thuộc tối thiểu. Dễ dàng cài đặt vào dự án của bạn và bạn đã sẵn sàng nhận dạng văn bản bằng nhiều ngôn ngữ được hỗ trợ và lưu kết quả nhận dạng ở nhiều định dạng khác nhau.
Yêu cầu giấy phép dùng thử để bắt đầu phát triển ứng dụng OCR đầy đủ chức năng mà không có giới hạn.
Sức mạnh của C++ trên diện rộng
Thư viện của chúng tôi hỗ trợ đầy đủ C++ 11 trở lên, cho phép các ứng dụng của bạn chạy liền mạch trên mọi nền tảng – máy tính để bàn Windows, Windows Server, macOS, Linux và đám mây.
28 ngôn ngữ nhận dạng
API C++ OCR của chúng tôi nhận dạng rất nhiều ngôn ngữ và tập lệnh viết phổ biến, bao gồm cả các ngôn ngữ hỗn hợp:
Để thư viện tự phát hiện ngôn ngữ hoặc tự xác định ngôn ngữ để nâng cao hiệu suất nhận dạng và độ tin cậy.
- Bảng chữ cái Latin mở rộng: tiếng Croatia, tiếng Séc, tiếng Đan Mạch, tiếng Hà Lan, tiếng Anh, tiếng Estonia, tiếng Phần Lan, tiếng Pháp, tiếng Đức, tiếng Ý, tiếng Latvia, tiếng Litva, tiếng Na Uy, tiếng Ba Lan, tiếng Bồ Đào Nha, tiếng Rumani, tiếng Slovak, tiếng Slovenia, tiếng Tây Ban Nha, tiếng Thụy Điển;
- Bảng chữ cái Cyrillic: tiếng Belorussian, tiếng Bulgaria, tiếng Kazakhstan, tiếng Nga, tiếng Serbia, tiếng Ukraina;
- Tiếng Trung: Hơn 6.000 ký tự;
- Tiếng Hindi.
Các tính năng và khả năng trao quyền
Aspose.OCR for C++ Khám phá các tính năng và khả năng nâng cao của Aspose.OCR cho C++.
Ảnh OCR
Trích xuất văn bản từ ảnh trên điện thoại thông minh với độ chính xác ở mức quét.
PDF có thể tìm kiếm
Chuyển đổi bất kỳ bản quét nào thành tài liệu có thể tìm kiếm và lập chỉ mục đầy đủ.
Nhận dạng URL
Nhận dạng hình ảnh từ URL mà không cần tải xuống cục bộ.
Nhận dạng hàng loạt
Đọc tất cả hình ảnh từ các tài liệu, thư mục và kho lưu trữ nhiều trang.
Bất kỳ phông chữ và phong cách
Xác định và nhận dạng văn bản ở tất cả các kiểu chữ và kiểu phổ biến.
Tinh chỉnh nhận dạng
Điều chỉnh mọi tham số OCR để có kết quả nhận dạng tốt nhất.
Công cụ kiểm tra chính tả
Cải thiện kết quả bằng cách tự động sửa các từ sai chính tả.
Tìm văn bản trong hình ảnh
Tìm kiếm văn bản hoặc biểu thức chính quy trong một tập hợp hình ảnh.
So sánh văn bản hình ảnh
So sánh văn bản trên hai hình ảnh, bất kể kiểu chữ và bố cục.
Giới hạn phạm vi nhận dạng
Giới hạn bộ ký tự mà công cụ OCR sẽ tìm kiếm.
Phát hiện lỗi hình ảnh
Tự động tìm các khu vực hình ảnh có vấn đề.
Nhận biết khu vực
Chỉ tìm và đọc các vùng cụ thể của hình ảnh chứ không phải tất cả văn bản.
Mẫu mã C++
Đi sâu vào các mẫu mã để tích hợp liền mạch Aspose.OCR cho C++ vào ứng dụng của bạn.
Thành thạo cài đặt C++
Sau khi cài đặt, bạn có thể nhanh chóng bắt đầu sử dụng Aspose.OCR cho C++ , mặc dù có những hạn chế nhất định. Giấy phép tạm thời dỡ bỏ tất cả các hạn chế về phiên bản dùng thử trong 30 ngày. Tận dụng khoảng thời gian này để bắt đầu phát triển ứng dụng OCR đầy đủ chức năng, cho phép bạn đưa ra quyết định sáng suốt về việc mua Aspose.OCR cho C++ ở giai đoạn sau.
OCR cho ảnh C++
Vượt qua thách thức của các ứng dụng OCR thiếu máy quét phổ biến. API của chúng tôi tự hào có các bộ lọc xử lý trước hình ảnh tích hợp mạnh mẽ giúp xử lý thành thạo các hình ảnh bị xoay, lệch và nhiễu. Kết hợp với sự hỗ trợ cho tất cả các định dạng hình ảnh, nó đảm bảo khả năng nhận dạng đáng tin cậy ngay cả từ ảnh trên điện thoại thông minh. Hầu hết quá trình xử lý trước và chỉnh sửa hình ảnh đều được tự động hóa, chỉ yêu cầu bạn can thiệp trong những trường hợp khó khăn. Ngoài ra, bạn có thể xác định trước các vùng hình ảnh để làm việc.
Đặt góc tùy chỉnh để chỉnh sửa độ lệch và các vùng nhận dạng sai lệch - C++
string file = "photo.png";
AsposeOCRInput source;
source.url = file.c_str();
std::vector<AsposeOCRInput> content = { source };
// Fine-tune recognition
RecognitionSettings settings;
settings.detect_areas_mode = detect_areas_mode_enum::PHOTO;
// Extract text from the photo
auto result = asposeocr_recognize(content.data(), content.size(), settings);
// Output the recognized text
wchar_t* buffer = asposeocr_serialize_result(result, buffer_size, export_format::text);
std::wcout << std::wstring(buffer) << std::endl;
// Release the resources
asposeocr_free_result(result);
Nhận dạng văn bản ở các vùng cụ thể của hình ảnh
Xác định các vùng cụ thể để nhận dạng văn bản, nâng cao độ chính xác. Điều chỉnh nhận dạng để tập trung vào các khu vực quan trọng, tối ưu hóa kết quả trong quy trình xử lý hình ảnh của bạn.
Xác định vùng nhận dạng cho OCR - C++
// Original image
std::string image_path = "../Data/Source/sample.png";
rect rectangles[2] = { {90, 186, 775, 95} , { 928, 606, 790, 160 } };
// Prepare buffer for result
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Adjust skew angle
RecognitionSettings settings;
settings.format = export_format::text;
settings.rectangles = rectangles;
settings.rectangles_size = 2;
settings.skew = 5;
// Recognize image
size_t res_len = aspose::ocr::page_settings(image_path.c_str(), buffer, len, settings);
Chuyển đổi bản quét thành tài liệu có thể chỉnh sửa
Trong khi nhiều doanh nghiệp, tổ chức, cá nhân đang tích cực nỗ lực giảm sự phụ thuộc vào tài liệu giấy thì đây vẫn là định dạng phổ biến nhất để lưu trữ và chia sẻ. Các tài liệu được quét được hỗ trợ bởi kho lưu trữ vật lý là đủ để tuân thủ quy định, mục đích pháp lý, sao lưu và dự phòng lâu dài. Tuy nhiên, các trường hợp kinh doanh thường phát sinh khi tạo tài liệu mới dựa trên nội dung được quét hiện có hoặc các phần của tài liệu hiện có.Aspose.OCR cho С++ giúp dễ dàng chuyển đổi hình ảnh được quét hoặc PDF dựa trên hình ảnh thành tài liệu DOCX hoặc RTF có thể chỉnh sửa hoặc bảng tính Microsoft Excel (XLSX). Nội dung được nhận dạng với độ chính xác và tốc độ cao, giúp bạn tiết kiệm thời gian và công sức gõ thủ công và đảm bảo không có lỗi của con người, đặc biệt khi làm việc với khối lượng văn bản lớn.
Biến hình ảnh được quét thành tài liệu văn bản có thể chỉnh sửa - C++
// Provide the folder with scanned pages
directory dir("./scans/");
const string current_dir = dir.full_name();
const string image = current_dir + "p.png";
const size_t len = 6000;
wchar_t buffer[len] = { 0 };
// Recognize and save results to Microsoft Word document
RecognitionSettings settings;
settings.save_format = file_format::docx;
asposeocr_page_save(image.c_str(), "result.docx", settings);
Phát hiện lỗi hình ảnh
Các lỗi hình ảnh có thể ảnh hưởng đáng kể đến độ chính xác của OCR. Chúng có thể do chất lượng của quá trình thu nhận hình ảnh, điều kiện môi trường và phần cứng được sử dụng để chụp ảnh. Để cải thiện độ chính xác của nhận dạng, điều cần thiết là phải xử lý trước và nâng cao hình ảnh để giảm thiểu những khiếm khuyết này bất cứ khi nào có thể.Aspose.OCR dành cho C++ có thể tự động tìm các khu vực hình ảnh có thể có vấn đề trong quá trình nhận dạng. Bạn có thể đánh dấu các khu vực có vấn đề khi xem trước hình ảnh và thậm chí OCR chúng bằng cách sử dụng cài đặt nhận dạng thay thế để có kết quả tốt hơn.
Nhận dạng văn bản trên hình ảnh mờ, méo và độ tương phản thấp - C++
// Provide the image
string file = "source.png";
AsposeOCRInput source;
source.url = file.c_str();
vector<AsposeOCRInput> content = {source};
// Activate detection of low-contrast areas
RecognitionSettings settings;
settings.defect_type = defect_type::ASPOSE_OCR_DETECT_DARK_IMAGES;
// Find and show low-contrast areas
AsposeOCRRecognitionResult result = asposeocr_recognize(content.data(), content.size(), settings);
for (size_t p_number = 0; p_number < result.pages_amount; ++p_number)
{
cout << "Page " << p_number << ";\n";
const auto& page = result.recognized_pages[p_number];
for (size_t defect_number = 0; defect_number < page.defects_count; ++defect_number)
{
const auto& defect_area = page.defect_areas[defect_number];
cout << "Low-contrast area " << defect_number << ":" << defect_area.area << std::endl;
}
}
// Release the resources
asposeocr_free_result(result);
Xử lý hàng loạt
API OCR giúp bạn không phải nhận dạng từng hình ảnh một bằng cách cung cấp nhiều phương pháp xử lý hàng loạt khác nhau cho phép bạn nhận dạng nhiều hình ảnh trong một lệnh gọi:
- Nhận dạng tệp PDF và TIFF nhiều trang.
- Nhận dạng tất cả các tập tin trong một thư mục.
- Nhận dạng tất cả các tập tin trong một kho lưu trữ.
Nhận dạng kho lưu trữ ZIP - C++
// Provide a ZIP archive
string file = "pages.zip";
AsposeOCRInput source;
source.url = file.c_str();
std::vector<AsposeOCRInput> content = { source };
// Fine-tune recognition
RecognitionSettings settings;
settings.detect_areas_mode = detect_areas_mode_enum::COMBINE;
// Extract texts
auto result = asposeocr_recognize(content.data(), content.size(), settings);
Tùy chọn phát hiện văn bản
Bạn có thể chia kết quả nhận dạng thành các dòng và phát hiện các vùng văn bản trong một trang.
Phát hiện văn bản trên hình ảnh - C++
size_t res_len = asposeocr_get_rectangles_number(image_path.c_str(), areas_type::lines, false);
rect* rectangles = new rect[res_len];
res_len = asposeocr_get_rectangles(image_path.c_str(), areas_type::lines, false, rectangles, res_len);