O reconhecimento óptico de caracteres (OCR) é o processo de extração de texto de imagens. Você pode ter imagens online e offline das quais pode precisar extrair informações de texto. Você pode executar o OCR em imagens offline, mas pode estar pensando que, para realizar o OCR em imagens online, você teria que baixá-las. Bem, isso não é necessário. Neste artigo, você aprenderá como realizar OCR em imagens usando sua URL com C++.
- API C++ para executar OCR em imagens de URL
- Reconhecer texto executando OCR em uma imagem de URL usando C++
- Reconhecer texto de áreas de imagem selecionadas definindo áreas de reconhecimento usando C++
API C++ para executar OCR em imagens de URL
Aspose.OCR for C++ é uma API de reconhecimento óptico de caracteres que pode executar operações de OCR de forma confiável em imagens e documentos digitalizados. A API também permite que você execute OCR em imagens de URLs. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.
PM> Install-Package Aspose.OCR.Cpp
Reconhecer texto executando OCR em uma imagem de URL usando C++
A seguir estão as etapas para executar o OCR em imagens de URLs.
- Prepare o buffer para o resultado.
- Defina as Configurações de reconhecimento.
- Execute o OCR na imagem usando o método asposeocrpagefromuri (const char \ uri, wchart \ buffer, sizet buffersize, RecognitionSettings settings).
O código de exemplo a seguir mostra como executar o OCR em uma imagem de uma URL usando 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 do arquivo de origem
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Prepare buffer para resultado (em símbolos, len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Defina as configurações de reconhecimento
RecognitionSettings settings;
settings.format = export_format::text;
// Execute a operação de OCR na imagem.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Reconhecer texto de áreas de imagem selecionadas definindo áreas de reconhecimento usando C++
Se você não deseja executar o OCR em toda a imagem e deseja obter o resultado de áreas específicas da imagem, pode definir áreas de reconhecimento para fazer exatamente isso. A seguir estão as etapas para definir áreas de reconhecimento para a operação de OCR.
- Defina as áreas de reconhecimento em uma matriz de estrutura rect.
- Prepare o buffer para o resultado.
- Defina o valor do membro de estrutura RecognitionSettings.rectangles igual à matriz de áreas de reconhecimento definida anteriormente.
- Defina o valor do membro de estrutura RecognitionSettings.rectanglessize igual ao tamanho da matriz de áreas de reconhecimento.
- Execute o OCR na imagem usando o método asposeocrpagefromuri (const char \ uri, wchart \ buffer, sizet buffersize, RecognitionSettings settings).
O código de exemplo a seguir demonstra como usar áreas de reconhecimento para reconhecer texto de áreas específicas de uma imagem usando 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 do arquivo de origem
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Defina as áreas de reconhecimento
rect rectangles[2] = { {90, 180, 770, 333} , { 923, 613, 780, 96 } };
// Prepare buffer para resultado (em símbolos, len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Defina as configurações de reconhecimento
RecognitionSettings settings;
settings.format = export_format::text;
// Defina as áreas de reconhecimento
settings.rectangles = rectangles;
// Especifique o tamanho da matriz de áreas de reconhecimento
settings.rectangles_size = 2;
// Execute a operação de OCR na imagem.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Obtenha uma licença gratuita
Para experimentar a API sem limitações de avaliação, você pode solicitar uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como executar OCR em imagens de qualquer endereço de URL usando C++. Além disso, você viu como definir áreas de reconhecimento para executar OCR apenas em áreas selecionadas da imagem. Aspose.OCR para C++ é uma API robusta que fornece muitos recursos adicionais para realizar OCR em imagens. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.