Reconhecer texto na imagem OCR

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

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.

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.

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.

Veja também