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.

Illustration ocr

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++!

Sẵn sàng công nhận Sẵn sàng công nhận Thả một tập tin ở đây hoặc bấm vào để duyệt *

* 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ụngChính sách bảo mật.

Kết quả công nhận
 

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.

Microsoft Windows
Linux
MacOS
GitHub
Microsoft Azure
Amazon Web Services
Docker

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
  • PDF
  • 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++.

Feature icon

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

Feature icon

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 đủ.

Feature icon

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

Feature icon

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.

Feature icon

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.

Feature icon

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.

Feature icon

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

Feature icon

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.

Feature icon

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.

Feature icon

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.

Feature icon

Phát hiện lỗi hình ảnh

Tự động tìm các khu vực hình ảnh có vấn đề.

Feature icon

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++

Là tệp Lưu trữ C++ (LIB) nhẹ hoặc tệp có thể tải xuống với mức phụ thuộc tối thiểu, Aspose.OCR cho C++ được phân phối dễ dàng. Tích hợp vào dự án của bạn, trực tiếp từ Môi trường phát triển tích hợp (IDE) C++ ưa thích của bạn, là một quá trình liền mạch. Chỉ cần cài đặt nó và bạn đã sẵn sàng tận dụng toàn bộ khả năng OCR, lưu kết quả nhận dạng ở bất kỳ định dạng nào được hỗ trợ.

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);