قراءة الباركود من الصورة باستخدام Java

تلعب الباركود دورًا حيويًا في التتبع الدقيق للمخزون وتسليم المنتجات من التصنيع إلى نقطة البيع. في بعض الحالات ، قد نحتاج إلى قراءة الرموز الشريطية من الصور برمجيًا. يمكننا بسهولة اكتشاف أنواع مختلفة من الرموز الشريطية ورموز الاستجابة السريعة والتعرف عليها وقراءتها في تطبيقات Java. يساعد على تطوير قارئ الباركود أو تطبيقات الماسح الضوئي. في هذه المقالة ، سوف نتعلم كيفية قراءة الباركود من صورة باستخدام Java.

سيتم تناول الموضوعات التالية في هذه المقالة:

ما هو الباركود

الرمز الشريطي هو رمز يمكن قراءته آليًا ويمثل البيانات المشفرة في شكل أرقام ونمط من الخطوط المتوازية. تُظهر صورة الرمز الشريطي سلسلة من الأشرطة المتوازية بالأبيض والأسود تختلف في العرض والتباعد والأحجام. تقوم قارئات الباركود أو الماسحات الضوئية بمسح صور الباركود وفك تشفير المعلومات.

Java API لقراءة الباركود من الصورة

من أجل قراءة الرموز الشريطية من الصور داخل تطبيقات Java ، سنستخدم Aspose.BarCode for Java. إنها واجهة برمجة تطبيقات غنية بالميزات تتيح لك إنشاء مجموعة كبيرة من رموز الرموز الشريطية ومسحها ضوئيًا وقراءتها. تسمح فئة BarCodeReader لواجهة برمجة التطبيقات بقراءة الرموز الشريطية. ترجع طريقة readBarCodes() لهذه الفئة مصفوفة من الرموز الشريطية المعروفة. تسمح API بقراءة الرموز الشريطية لـ DecodeType المحدد. تقوم فئة BarCodeResult الخاصة بواجهة برمجة التطبيقات بتخزين بيانات الرمز الشريطي التي تم التعرف عليها مثل نوع الرمز الشريطي ونص الكود والمنطقة والمعلمات الأخرى.

يرجى إما تنزيل JAR الخاص بواجهة برمجة التطبيقات أو إضافة تكوين pom.xml التالي في تطبيق Java المستند إلى 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-barcode</artifactId>
    <version>22.5</version>
</dependency>

قراءة الباركود من صورة في جافا

يمكننا قراءة الباركود من صورة باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بتحميل صورة باستخدام فئة BarCodeReader.
  • الحصول على نتائج التعرف في كائن فئة BarCodeResult باستخدام أسلوب readBarCodes().
  • أخيرًا ، قم بالتمرير خلال النتائج وإظهار نوع الرمز الشريطي ونصه.

يوضح نموذج التعليمات البرمجية التالي كيفية قراءة رمز شريطي من صورة باستخدام Java.

// يوضح مثال الكود هذا كيفية قراءة الباركود من صورة.
// المسار إلى دليل الصور
String dataDir = "C:\\Files\\BarCode\\";

// تهيئة قارئ الباركود
BarCodeReader reader = new BarCodeReader(dataDir + "CodeText.jpg");

// قراءة الباركود وإظهار النتائج
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
قراءة الباركود من صورة.

قراءة الباركود من صورة في جافا.

التعرف على الرمز الشريطي من نوع معين في Java

يمكننا قراءة رمز شريطي من نوع معين من صورة باتباع الخطوات الواردة أدناه:

  • أولاً ، اقرأ بيانات المخزن المؤقت لملف الصورة باستخدام طريقة ImageIO.read().
  • بعد ذلك ، قم بإنشاء مثيل لفئة BarCodeReader مع صورة مخزنة ونوع فك الترميز.
  • بعد ذلك ، قم بتعيين نوع فك شفرة الرمز الشريطي لقراءة الرمز الشريطي من نوع معين ، مثل CODE39STANDARD.
  • بعد ذلك ، احصل على نتائج التعرف في كائن فئة BarCodeResult باستخدام طريقة readBarCodes().
  • أخيرًا ، قم بالتمرير خلال النتائج وإظهار نوع الرمز الشريطي ونصه.

يوضح نموذج التعليمات البرمجية التالي كيفية قراءة رمز شريطي من نوع معين من صورة باستخدام Java.

// يوضح مثال الرمز هذا كيفية قراءة الرمز الشريطي لنوع معين من فك التشفير من صورة.
// المسار إلى دليل الصور
String dataDir = "C:\\Files\\BarCode\\";

// الحصول على صورة مؤمنة
BufferedImage img = ImageIO.read(new File(dataDir + "CODE_39_STANDARD.jpg"));

// تهيئة قارئ الباركود
BarCodeReader reader = new BarCodeReader(img, DecodeType.CODE_39_STANDARD);

// قراءة الباركود من النوع Code39Extended
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
التعرف على الباركود من نوع معين.

التعرف على الرمز الشريطي لنوع معين في Java.

قراءة الرموز الشريطية المتعددة من الصورة في جافا

يمكننا أيضًا قراءة جميع الرموز الشريطية المتاحة من صورة باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بتحميل صورة باستخدام فئة BarCodeReader.
  • بعد ذلك ، قم بتعيين نوع فك تشفير الباركود على أنه ALLSUPPORTEDTYPES.
  • بعد ذلك ، احصل على نتائج التعرف في كائن فئة BarCodeResult باستخدام طريقة readBarCodes().
  • أخيرًا ، قم بالتمرير خلال النتائج وإظهار نوع الرمز الشريطي ونصه.

يوضح نموذج التعليمات البرمجية التالي كيفية قراءة رموز شريطية متعددة من صورة باستخدام Java.

// يوضح مثال الرمز هذا كيفية قراءة الرموز الشريطية المتعددة من صورة ما.
// المسار إلى دليل الصور
String dataDir = "C:\\Files\\BarCode\\";

// تهيئة قارئ الباركود
BarCodeReader reader = new BarCodeReader(dataDir + "MultipleBarcodes.png", DecodeType.ALL_SUPPORTED_TYPES);

// اقرأ جميع أنواع الباركود المتوفرة على الصورة المدخلة
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
  System.out.println("-------------------------");
}
قراءة الرموز الشريطية المتعددة من الصورة.

قراءة الرموز الشريطية المتعددة من صورة.

احصل على إحداثيات X و Y للباركود باستخدام Java

يمكننا قراءة إحداثيات X و Y للرمز الشريطي المكتشف من صورة باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بتحميل صورة باستخدام فئة BarCodeReader.
  • بعد ذلك ، احصل على نتائج التعرف في كائن فئة BarCodeResult باستخدام طريقة readBarCodes().
  • بعد ذلك ، قم بتكرار النتائج وتحقق مما إذا كانت getRegion() ليست فارغة.
  • بعد ذلك ، احصل على صفيف النقاط الذي يحيط بمنطقة الباركود باستخدام getPoints().
  • أخيرًا ، أظهر نقطتي X و Y في الرمز الشريطي.

يوضح نموذج التعليمات البرمجية التالي كيفية الحصول على نقطتي إحداثيات X و Y لرمز شريطي من صورة باستخدام Java.

// يوضح مثال الرمز هذا كيفية قراءة نقطة منطقة X & Y للرموز الشريطية من صورة.
// المسار إلى دليل الصور
String dataDir = "C:\\Files\\BarCode\\";

// تهيئة قارئ الباركود
BarCodeReader reader = new BarCodeReader(dataDir + "Code39Std.png", DecodeType.ALL_SUPPORTED_TYPES);

// اقرأ الباركود
for (BarCodeResult result : reader.readBarCodes()) {
  if (result.getRegion() != null) {
    // عرض إحداثيات x و y لجميع الرموز الشريطية المكتشفة
    Point[] point = result.getRegion().getPoints();
    System.out.println("Top left coordinates: X = " + point[0].x + ", Y = " + point[0].y);
    System.out.println("Bottom left coordinates: X = " + point[1].x + ", Y = " + point[1].y);
    System.out.println("Bottom right coordinates: X = " + point[2].x + ", Y = " + point[2].y);
    System.out.println("Top right coordinates: X = " + point[3].x + ", Y = " + point[3].y);
  }
}
احصل على إحداثيات X و Y للباركود.

احصل على إحداثيات X و Y لرمز شريطي من صورة.

قراءة الباركود من منطقة معينة للصورة في جافا

يمكننا قراءة الباركود من منطقة معينة أو منطقة من الصورة باتباع الخطوات الواردة أدناه:

  • أولاً ، اقرأ بيانات المخزن المؤقت لملف الصورة باستخدام طريقة ImageIO.read().
  • بعد ذلك ، قم بإنشاء مثيل لفئة BarCodeReader. يأخذ صورة مخزنة ومنطقة مستطيل ونوع فك الترميز كوسائط.
  • بعد ذلك ، احصل على نتائج التعرف في كائن فئة BarCodeResult باستخدام طريقة readBarCodes().
  • أخيرًا ، قم بالتمرير خلال النتائج وإظهار نوع الرمز الشريطي ونصه.

يوضح نموذج التعليمات البرمجية التالي كيفية قراءة رمز شريطي من منطقة معينة من صورة باستخدام Java.

// يوضح مثال الكود هذا كيفية قراءة الباركود من منطقة معينة من الصورة.
// المسار إلى دليل الصور
String dataDir = "C:\\Files\\BarCode\\";

// احصل على BufferedImage
java.awt.image.BufferedImage img = javax.imageio.ImageIO.read(new java.io.File(dataDir + "specificRegion.png"));

// إنشاء مثيل لفئة BarCodeReader
// وحدد منطقة للبحث عن الرمز الشريطي
BarCodeReader reader = new BarCodeReader(img, new Rectangle(0, 0, 700, 100), DecodeType.ALL_SUPPORTED_TYPES);

// اقرأ جميع الرموز الشريطية في المنطقة المتوفرة
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
قراءة الباركود من منطقة معينة للصورة.

اقرأ الرموز الشريطية من منطقة معينة من الصورة في Java.

احصل على رخصة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة المكتبة دون قيود التقييم.

استنتاج

في هذه المقالة ، تعلمنا كيفية:

  • تحميل صورة الباركود برمجيًا ؛
  • التعرف على أنواع مختلفة من الرموز الشريطية من صورة ؛
  • قراءة إحداثيات الباركود في جافا ؛
  • كشف وقراءة الرموز الشريطية المتعددة من صورة واحدة ؛
  • كشف وقراءة الرموز الشريطية من منطقة معينة من الصورة.

بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.BarCode for Java API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا