استخراج داده از تصاویر در جاوا

مروری کلی

شناسایی علامت نوری (OMR) یک فرآیند الکترونیکی است که به خواندن و ضبط داده‌های علامت‌گذاری شده توسط افراد بر روی فرم‌های اسناد ویژه طراحی‌شده، مانند آزمون‌ها یا نظرسنجی‌ها، که شامل ورودی‌های حبابی یا مربعی پر شده توسط کاربران است، کمک می‌کند. با استفاده از استخراج داده از تصاویر در جاوا، می‌توانیم به‌طور مؤثر تصاویر اسکن‌شده از این فرم‌های نظرسنجی، پرسشنامه‌ها یا برگه‌های آزمون را مدیریت کنیم و امکان خواندن ورودی‌های کاربر به‌طور برنامه‌نویسی را فراهم می‌کند. این مقاله شما را در مورد چگونگی انجام OMR و استخراج داده‌ها از تصاویر با استفاده از جاوا راهنمایی خواهد کرد.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

  1. API OMR جاوا برای استخراج داده از تصویر
  2. استخراج داده از تصاویر در جاوا
  3. انجام OMR و استخراج داده از چندین تصویر
  4. استخراج داده‌های OMR با آستانه
  5. استخراج داده‌های OMR با محاسبه مجدد

API OMR جاوا برای استخراج داده از تصویر

برای انجام عملیات OMR و استخراج داده از تصاویر در جاوا، ما از Aspose.OMR برای API جاوا استفاده خواهیم کرد. این ابزار قدرتمند به طراحی، ایجاد و شناسایی برگه‌های پاسخ، آزمون‌ها، برگه‌های MCQ، آزمون‌های کوتاه، فرم‌های بازخورد، نظرسنجی‌ها و رأی‌گیری‌ها کمک می‌کند.

کلاس OmrEngine در API مسئول ایجاد الگوها و پردازش تصاویر است. متد getTemplateProcessor(String templatePath) یک نمونه TemplateProcessor را برای مدیریت الگوها و تصاویر راه‌اندازی می‌کند. برای شناسایی یک تصویر، می‌توان از متد recognizeImage(String imagePath) استفاده کرد که تمام عناصر OMR را به عنوان یک نمونه RecognitionResult برمی‌گرداند. با استفاده از متد getCsv()، می‌توانید یک رشته CSV حاوی نتایج شناسایی را تولید کنید. علاوه بر این، متد recalculate(RecognitionResult result, int recognitionThreshold) نتایج شناسایی را با پارامترهای سفارشی بهبود می‌بخشد.

لطفاً یا JAR API را دانلود کنید یا پیکربندی pom.xml زیر را در یک برنامه جاوایی مبتنی بر Maven اضافه کنید.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
     <groupId>com.aspose</groupId>
     <artifactId>aspose-omr</artifactId>
     <version>19.12</version>
</dependency>

استخراج داده از تصاویر در جاوا

برای انجام یک عملیات OMR، به فایل الگوی OMR آماده (.omr) و تصویر فرم‌ها یا برگه‌های پرشده توسط کاربر نیاز داریم. فرآیند استخراج داده از تصاویر در جاوا، به‌ویژه با استفاده از عملیات OMR، شامل مراحل زیر است:

  1. ابتدا، یک نمونه از کلاس OmrEngine ایجاد کنید.
  2. سپس، متد getTemplateProcessor() را فراخوانی کرده و یک شیء کلاس TemplateProcessor را با گذراندن مسیر فایل الگوی OMR به عنوان آرگومان، راه‌اندازی کنید.
  3. سپس، شیء RecognitionResult را با فراخوانی متد recognizeImage() با مسیر تصویر به عنوان آرگومان بدست آورید.
  4. پس از آن، نتایج شناسایی را به‌صورت رشته‌های CSV با استفاده از متد getCsv() بدست آورید.
  5. در نهایت، نتیجه CSV را به‌عنوان یک فایل CSV در دیسک محلی ذخیره کنید.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان استخراج داده از تصاویر در جاوا را با تبدیل داده‌های OMR به فرمت CSV انجام داد.

Extract-Data-from-an-Image-in-Java

انجام OMR و استخراج داده از یک تصویر در جاوا.

لطفاً الگوی OMR استفاده‌شده در این پست وبلاگ را دانلود کنید.

انجام OMR و استخراج داده از چندین تصویر

ما می‌توانیم عملیات OMR را بر روی چندین تصویر انجام دهیم و داده‌ها را در یک فایل CSV جداگانه برای هر یک استخراج کنیم. برای انجام استخراج داده از تصاویر در جاوا، لازم است مراحل 3، 4 و 5 را برای همه تصاویر به‌طور جداگانه تکرار کنیم.

در زیر یک نمونه کد نشان می‌دهد که چگونه می‌توان داده‌های OMR را از چندین تصویر با استفاده از جاوا استخراج کرد.

. داده لیست، چه به‌صورت نقطه‌گذاری شده یا شماره‌گذاری شده، باید کاملاً تغییر نکند.

استخراج داده‌های OMR با آستانه در جاوا

برای انجام عملیات شناسایی علامت نوری (OMR) در جاوا، ما از یک مقدار آستانه بین 0 تا 100 بر اساس نیازهای خاص استفاده می‌کنیم. این مقدار آستانه، که در استخراج داده از تصاویر در جاوا استفاده می‌شود، تعیین می‌کند که API در برجسته‌سازی پاسخ‌ها چقدر سخت‌گیر خواهد بود؛ یک مقدار بالاتر سخت‌گیری را افزایش می‌دهد. پیروی از مراحل ذکرشده قبلی برای پردازش OMR با آستانه انتخاب‌شده ضروری است. به‌ویژه، در مرحله #3، باید متد recognizeImage(string, int32) فراخوانی شود. این متد اضافی نیاز به مسیر فایل تصویر و مقدار آستانه موردنظر به‌عنوان پارامترهای خود دارد.

نمونه کد زیر نشان می‌دهد چگونه OMR را با استفاده از یک مقدار آستانه در جاوا انجام دهیم:

استخراج داده‌های OMR با محاسبه مجدد در جاوا

هنگام کار با استخراج داده از تصاویر در جاوا، به‌ویژه در مورد OMR، ممکن است نیاز به محاسبه مجدد نتایج با استفاده از مقادیر آستانه مختلف وجود داشته باشد. با پیکربندی API، می‌توان محاسبه مجدد را از طریق متد TemplateProcessor.recalculate() به‌صورت خودکار انجام داد. این رویکرد اجازه می‌دهد تا چندین بار پردازش تصویر با تنظیم آستانه تا دستیابی به نتیجه مطلوب انجام شود. برای انجام موفقیت‌آمیز عملیات OMR با محاسبه مجدد، مراحل زیر را دنبال کنید:

  1. ابتدا، یک نمونه از کلاس OmrEngine ایجاد کنید.
  2. سپس، متد getTemplateProcessor() را فراخوانی کرده و شیء TemplateProcessor را راه‌اندازی کنید. این متد مسیر فایل الگوی OMR را به‌عنوان آرگومان می‌گیرد.
  3. سپس، شیء RecognitionResult را با فراخوانی متد recognizeImage() با مسیر تصویر به‌عنوان آرگومان بدست آورید.
  4. سپس، نتایج شناسایی را به‌صورت رشته CSV با استفاده از متد getCsv() صادر کنید.
  5. سپس، نتیجه CSV را به‌عنوان یک فایل CSV در دیسک محلی ذخیره کنید.
  6. سپس، متد recalculate() را فراخوانی کنید. این متد شیء RecognitionResult و مقدار آستانه را به‌عنوان آرگومان‌ها می‌گیرد.
  7. پس از آن، نتایج شناسایی را به‌صورت رشته CSV با استفاده از متد getCsv() صادر کنید.
  8. در نهایت، نتیجه CSV را به‌عنوان یک فایل CSV در دیسک محلی ذخیره کنید.

نمونه کد زیر نشان می‌دهد چگونه OMR را با استفاده از متد محاسبه مجدد در جاوا انجام دهیم:

.

دریافت مجوز رایگان

شما این فرصت را دارید که مجوز موقت رایگان برای آزمایش کتابخانه بدون محدودیت‌های ارزیابی دریافت کنید. این یک راه عالی برای کاوش در ویژگی‌هایی مانند استخراج داده از تصاویر در جاوا است که به شما اجازه می‌دهد قابلیت‌های آن را به‌طور کامل ارزیابی کنید. داده‌های لیست زیر برای مرجع شما بدون تغییر باقی می‌ماند:

  1. این کتابخانه با حجم بالای داده‌ها به‌طور مؤثر کار می‌کند.
  2. ادغام با سیستم‌های موجود به‌صورت یکپارچه انجام می‌شود.
  3. داده‌های استخراج‌شده بسیار دقیق و قابل اعتماد هستند.
  4. مراحل نصب ساده و مستندات خوبی دارد.

نتیجه‌گیری

در این مقاله، ما یاد گرفتیم که چگونه:

  • عملیات OMR را بر روی تصاویر انجام دهیم؛
  • داده‌ها را به‌صورت برنامه‌نویسی در فرمت CSV استخراج کنیم؛
  • تنظیم آستانه را در حین انجام OMR بر روی تصاویر اعمال کنیم؛
  • نتایج OMR را در یک فرآیند خودکار با استفاده از جاوا مجدداً محاسبه کنیم.

علاوه بر این، هنگام کار با استخراج داده از تصاویر در جاوا، می‌توانید بیشتر در مورد API Aspose.OMR برای جاوا با بررسی مستندات اطلاعات کسب کنید. اگر با مشکلی مواجه شدید، لطفاً با ما در فروم پشتیبانی رایگان تماس بگیرید.

همچنین ببینید