Wzmocnij swoje aplikacje C++ za pomocą OCR
Mistrzostwo OCR: przekształcanie obrazów w tekst
Więcej wystaw >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
Dlaczego Aspose.OMR dla C++?
Twórz i rozpoznawaj formy do odczytu maszynowego o dowolnym układzie i złożoności w aplikacjach lokalnych, usługach internetowych lub w chmurze. Nasze rozwiązanie nadaje się do projektów dowolnej wielkości - od prostych ankiet i quizów po egzaminy końcowe i wybory. Kliknij poniższe elementy, aby dowiedzieć się więcej o naszych funkcjach i korzyściach.
Nie potrzeba żadnego sprzętu
Użyj istniejącej kopiarki biurowej lub nawet aparatu w smartfonie zamiast specjalistycznego czytnika OMR.
Pełna personalizacja
Personalizuj formularze OMR, dodając automatycznie generowane kody QR i kody kreskowe, obrazy, pola podpisu i nie tylko.
Wiarygodne wyniki
Solidne algorytmy optycznego wykrywania znaków w połączeniu z możliwością precyzyjnego rozpoznawania gwarantują 100% dokładne wyniki.
Całe rozwiązanie
Aspose.OMR dla C++ obsługuje pełny przepływ pracy OMR - od zaprojektowania formularza po rozpoznanie wypełnionych wydruków.
Przyjazny dla programistów
Nasze API jest niezwykle łatwe w obsłudze nawet dla niedoświadczonych programistów. Prostą aplikację OMR można zapisać w 10 linijkach kodu.
Próbka kodu na żywo
Poznaj prostotę: Konwertuj obraz na tekst w zaledwie trzech linijkach kodu C++!
* Przesyłając swoje pliki lub korzystając z usługi, zgadzasz się z naszymi Warunki korzystania I Polityka prywatności.
Konwertuj obraz na tekst
Odkryj więcej przykładów > 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);
Moc C++ wszędzie
Aspose.OCR dla C++ bezproblemowo działa na każdej platformie.
Obsługiwane formaty plików
Aspose.OCR for C++ może pracować z praktycznie każdym plikiem można uzyskać za pomocą skanera lub aparatu. Wyniki rozpoznania zwracane są w najpopularniejszych formatach plików i wymiany danych, które można zapisać, zaimportować do bazy danych lub przeanalizować w czasie rzeczywistym.
Obrazy
- JPEG
- PNG
- TIFF
- BMP
Partia OCR
- Multi-page PDF
- ZIP
- Folder
Wyniki uznania
- Text
- Microsoft Word
- Microsoft Excel
- RTF
- JSON
- XML
Instalacja
Aspose.OCR dla C++ jest dystrybuowany jako pakiet NuGet lub jako plik do pobrania z minimalnymi zależnościami. Z łatwością zainstaluj go w swoim projekcie, a będziesz gotowy do rozpoznawania tekstów w wielu obsługiwanych językach i zapisywania wyników rozpoznawania w różnych formatach.
Poproś o licencję próbną , aby rozpocząć tworzenie w pełni funkcjonalnej aplikacji OCR bez ograniczeń.
Moc C++ na całej planszy
Nasza biblioteka w pełni obsługuje C++ 11 i nowsze wersje, umożliwiając płynne działanie aplikacji na dowolnej platformie – komputerowym Windows, Windows Server, macOS, Linux i w chmurze.
28 języków rozpoznawania
Nasz interfejs API C++ OCR rozpoznaje mnóstwo języków i popularnych skryptów pisarskich, w tym języki mieszane:
Pozostaw wykrywanie języka bibliotece lub zdefiniuj język samodzielnie, aby zwiększyć wydajność i niezawodność rozpoznawania.
- Rozszerzony alfabet łaciński: chorwacki, czeski, duński, holenderski, angielski, estoński, fiński, francuski, niemiecki, włoski, łotewski, litewski, norweski, polski, portugalski, rumuński, słowacki, słoweński, hiszpański, szwedzki;
- Cyrylica alfabet: białoruski, bułgarski, kazachski, rosyjski, serbski, ukraiński;
- Chiński: Ponad 6000 znaków;
- Hinduski.
Funkcje i możliwości, które wzmacniają
Aspose.OCR for C++ Odkryj zaawansowane funkcje i możliwości Aspose.OCR dla C++.
Zdjęcie OCR
Wyodrębniaj tekst ze zdjęć smartfonów z dokładnością na poziomie skanowania.
Przeszukiwalny plik PDF
Konwertuj dowolny skan w dokument z możliwością pełnego przeszukiwania i indeksowania.
Rozpoznawanie adresu URL
Rozpoznaj obraz z adresu URL bez pobierania go lokalnie.
Rozpoznawanie zbiorcze
Czytaj wszystkie obrazy z wielostronicowych dokumentów, folderów i archiwów.
Dowolna czcionka i styl
Identyfikuj i rozpoznawaj tekst we wszystkich popularnych krojach i stylach.
Dostosuj rozpoznawanie
Dostosuj każdy parametr OCR, aby uzyskać najlepsze wyniki rozpoznawania.
Sprawdzanie pisowni
Popraw wyniki, automatycznie poprawiając błędnie napisane słowa.
Znajdź tekst na obrazach
Wyszukaj tekst lub wyrażenie regularne w zestawie obrazów.
Porównaj teksty obrazów
Porównaj teksty na dwóch obrazach, niezależnie od wielkości i układu.
Ogranicz zakres rozpoznawania
Ogranicz zestaw znaków, których będzie szukał silnik OCR.
Wykryj defekty obrazu
Automatycznie znajduj potencjalnie problematyczne obszary obrazu.
Rozpoznaj obszary
Znajdź i przeczytaj tylko określone obszary obrazu, a nie cały tekst.
Przykłady kodu C++
Zagłęb się w próbki kodu, aby bezproblemowo zintegrować Aspose.OCR dla C++ ze swoimi aplikacjami.
Biegłość w instalacji C++
Po instalacji możesz natychmiast rozpocząć korzystanie z Aspose.OCR dla C++ , choć z pewnymi ograniczeniami. Licencja tymczasowa znosi wszystkie ograniczenia wersji próbnej na 30 dni. Wykorzystaj ten okres na rozpoczęcie rozwoju w pełni funkcjonalnej aplikacji OCR, co pozwoli Ci na późniejszym etapie podjąć świadomą decyzję o zakupie Aspose.OCR dla C++.
OCR dla zdjęć C++
Pokonaj wyzwanie, jakie stanowią aplikacje OCR, w których brakuje powszechnych skanerów. Nasz interfejs API oferuje potężne, wbudowane filtry wstępnego przetwarzania obrazu, które sprawnie radzą sobie z obrazami obróconymi, przekrzywionymi i zaszumionymi. W połączeniu z obsługą wszystkich formatów obrazu zapewnia niezawodne rozpoznawanie nawet ze zdjęć wykonanych smartfonem. Większość przetwarzania wstępnego i korekcji obrazu jest zautomatyzowana i wymaga interwencji użytkownika tylko w trudnych przypadkach. Możesz także wstępnie zdefiniować obszary obrazu, z którymi chcesz pracować.
Ustaw niestandardowy kąt dla korekcji skosu i zdefiniuj obszary rozpoznawania - 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);
Rozpoznawanie tekstu w określonych obszarach obrazu
Zdefiniuj określone regiony do rozpoznawania tekstu, zwiększając dokładność. Dostosuj rozpoznawanie, aby skupić się na kluczowych obszarach, optymalizując wyniki w procesie przetwarzania obrazu.
Zdefiniuj regiony rozpoznawania dla 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);
Konwersja skanu na dokument edytowalny
Chociaż wiele firm, organizacji i osób aktywnie pracuje nad ograniczeniem korzystania z dokumentów papierowych, jest to nadal najbardziej rozpowszechniony format przechowywania i udostępniania. Zeskanowane dokumenty poparte archiwami fizycznymi wystarczą do zapewnienia zgodności z przepisami, celów prawnych, długoterminowego tworzenia kopii zapasowych i redundancji. Jednakże często pojawiają się uzasadnienia biznesowe dotyczące tworzenia nowych dokumentów w oparciu o istniejącą zeskanowaną treść lub fragmenty istniejących dokumentów.Aspose.OCR dla С++ ułatwia konwersję zeskanowanego obrazu lub pliku PDF opartego na obrazie na edytowalny dokument DOCX lub RTF lub arkusz kalkulacyjny Microsoft Excel (XLSX). Treść jest rozpoznawana z dużą dokładnością i szybkością, co pozwala zaoszczędzić czas i wysiłek związany z ręcznym pisaniem oraz gwarantuje, że nie wystąpią żadne błędy ludzkie, szczególnie podczas pracy z dużymi ilościami tekstu.
Zamień zeskanowany obraz na możliwy do uzyskania dokument tekstowy - 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);
Wykrywanie defektów obrazu
Wady obrazu mogą znacząco wpłynąć na dokładność OCR. Mogą być spowodowane jakością procesu akwizycji obrazu, warunkami środowiskowymi i sprzętem używanym do przechwytywania obrazu. Aby poprawić dokładność rozpoznawania, konieczne jest wstępne przetworzenie i udoskonalenie obrazów w celu ograniczenia tych defektów, gdy tylko jest to możliwe.Aspose.OCR dla C++ może automatycznie znaleźć potencjalnie problematyczne obszary obrazu podczas rozpoznawania. Możesz wyróżnić problematyczne obszary podczas podglądu obrazu, a nawet przeprowadzić OCR, korzystając z alternatywnych ustawień rozpoznawania, aby uzyskać lepszy wynik.
Rozpoznawanie tekstu na obrazach rozmazanych, zniekształconych i o niskim kontraście - 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);
Przetwarzanie wsadowe
OCR API uwalnia Cię od konieczności rozpoznawania każdego obrazu jeden po drugim, oferując różne metody przetwarzania wsadowego, które pozwalają rozpoznać wiele obrazów w jednym wywołaniu:
- Rozpoznawanie wielostronicowych plików PDF i TIFF.
- Rozpoznawanie wszystkich plików w folderze.
- Rozpoznawanie wszystkich plików w archiwum.
Rozpoznaj archiwum 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);
Opcja wykrywania tekstu
Wyniki rozpoznawania można dzielić na linie i wykrywać obszary tekstowe na stronie.
Wykryj tekst na obrazie — 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);