รับรู้ข้อความบนรูปภาพ OCR

Optical Character Recognition (OCR) คือกระบวนการแยกข้อความออกจากรูปภาพ คุณอาจมีรูปภาพออนไลน์และออฟไลน์ซึ่งคุณอาจต้องแยกข้อมูลข้อความ คุณสามารถดำเนินการ OCR กับรูปภาพออฟไลน์ได้ แต่คุณอาจคิดว่าหากต้องการใช้ OCR บนรูปภาพออนไลน์ คุณจะต้องดาวน์โหลด นั่นไม่จำเป็น ในบทความนี้ คุณจะได้เรียนรู้วิธีการทำ OCR บนรูปภาพโดยใช้ URL ด้วย C++

C ++ API สำหรับดำเนินการ OCR บนรูปภาพจาก URL

Aspose.OCR for C++ เป็น API การรู้จำอักขระด้วยแสงที่สามารถดำเนินการ OCR กับรูปภาพและเอกสารที่สแกนได้อย่างน่าเชื่อถือ API ยังช่วยให้คุณสามารถดำเนินการ OCR กับรูปภาพจาก URL คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.OCR.Cpp

จดจำข้อความโดยดำเนินการ OCR บนรูปภาพจาก URL โดยใช้ C++

ต่อไปนี้เป็นขั้นตอนในการดำเนินการ OCR กับรูปภาพจาก URL

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการทำ OCR บนรูปภาพจาก URL โดยใช้ 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 ไฟล์ต้นฉบับ
	const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

	// เตรียมบัฟเฟอร์สำหรับผลลัพธ์ (ในสัญลักษณ์ len_byte = len * sizeof(wchar_t))
	const size_t len = 4096;
	wchar_t buffer[len] = { 0 };

	// ตั้งค่าการจดจำ
	RecognitionSettings settings;
	settings.format = export_format::text;

	// ดำเนินการ OCR บนภาพ
	size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);

	std::wcout << buffer << L"\n";
}

จดจำข้อความจากพื้นที่ภาพที่เลือกโดยกำหนดพื้นที่การรับรู้โดยใช้ C++

หากคุณไม่ต้องการดำเนินการ OCR กับภาพทั้งหมดและต้องการรับผลลัพธ์จากพื้นที่ภาพเฉพาะ คุณสามารถกำหนดพื้นที่การรับรู้เพื่อทำสิ่งนั้นได้ ต่อไปนี้เป็นขั้นตอนในการตั้งค่าพื้นที่การรับรู้สำหรับการดำเนินการ OCR

  • กำหนดพื้นที่การรับรู้ในอาร์เรย์ของโครงสร้าง rect
  • เตรียมบัฟเฟอร์สำหรับผลลัพธ์
  • ตั้งค่าของสมาชิกโครงสร้าง RecognitionSettings.rectangles ให้เท่ากับอาร์เรย์ของพื้นที่การรู้จำที่กำหนดไว้ก่อนหน้านี้
  • ตั้งค่าของสมาชิกโครงสร้าง RecognitionSettings.rectanglessize ให้เท่ากับขนาดของอาร์เรย์พื้นที่การรับรู้
  • ทำ OCR บนภาพโดยใช้เมธอด asposeocrpagefromuri (const char \ uri, wchart \ buffer, sizet buffersize, RecognitionSettings)

โค้ดตัวอย่างต่อไปนี้สาธิตวิธีใช้พื้นที่การรับรู้เพื่อจดจำข้อความจากพื้นที่เฉพาะของรูปภาพโดยใช้ 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 ไฟล์ต้นฉบับ
	const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

	// กำหนดพื้นที่การรับรู้
	rect rectangles[2] = { {90, 180, 770, 333} , { 923, 613, 780, 96 } };

	// เตรียมบัฟเฟอร์สำหรับผลลัพธ์ (ในสัญลักษณ์ len_byte = len * sizeof(wchar_t))
	const size_t len = 4096;
	wchar_t buffer[len] = { 0 };

	// ตั้งค่าการจดจำ
	RecognitionSettings settings;
	settings.format = export_format::text;

	// ตั้งค่าพื้นที่การรับรู้
	settings.rectangles = rectangles;

	// ระบุขนาดของอาร์เรย์พื้นที่การรับรู้
	settings.rectangles_size = 2;

	// ดำเนินการ OCR บนภาพ
	size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);

	std::wcout << buffer << L"\n";
}

รับใบอนุญาตฟรี

หากต้องการลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน คุณสามารถขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีดำเนินการ OCR กับรูปภาพจากที่อยู่ URL ใดๆ โดยใช้ C++ นอกจากนี้ คุณได้เห็นวิธีกำหนดพื้นที่การรับรู้เพื่อดำเนินการ OCR เฉพาะพื้นที่ที่เลือกของภาพ Aspose.OCR for C++ เป็น API ที่มีประสิทธิภาพซึ่งมีคุณสมบัติเพิ่มเติมมากมายสำหรับการดำเนินการ OCR บนรูปภาพ คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย