Java kullanarak Görüntüden Barkod Oku

Barkodlar, envanterin doğru takibinde ve ürünlerin üretimden satış noktasına tesliminde hayati bir rol oynar. Bazı durumlarda, görsellerden barkodları programlı olarak okumamız gerekebilir. Java uygulamalarında çeşitli barkodları ve QR kodlarını kolayca algılayabilir, tanıyabilir ve okuyabiliriz. Barkod okuyucu veya tarayıcı uygulamalarının geliştirilmesine yardımcı olur. Bu yazımızda Java kullanarak bir görselden barkod okumayı öğreneceğiz.

Bu yazıda aşağıdaki konular ele alınacaktır:

Barkod Nedir?

Barkod, kodlanmış verileri sayılar ve paralel çizgiler şeklinde temsil eden, makine tarafından okunabilen bir koddur. Barkod görüntüsü, genişlikleri, aralıkları ve boyutları değişen bir dizi paralel siyah ve beyaz çubuk gösterir. Barkod okuyucular veya tarayıcılar, barkod görüntülerini tarar ve bilgilerin kodunu çözer.

Görüntüden Barkod Okumak için Java API

Java uygulamalarındaki görüntülerden barkodları okumak için Aspose.BarCode for Java kullanacağız. Çok çeşitli barkod sembolojileri oluşturmanıza, taramanıza ve okumanıza izin veren, zengin özelliklere sahip bir API’dir. API’nin BarCodeReader sınıfı, barkodların okunmasına izin verir. Bu sınıfın readBarCodes() yöntemi, tanınan barkodlar dizisini döndürür. API, belirtilen DecodeType barkodlarının okunmasına izin verir. API’nin BarCodeResult sınıfı, barkod türü, kod metni, bölge ve diğer parametreler gibi tanınan barkod verilerini depolar.

Lütfen API’nin JAR’ını indirin veya Maven tabanlı bir Java uygulamasında aşağıdaki pom.xml yapılandırmasını ekleyin.

<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>

Java’daki Bir Görüntüden Barkod Okuma

Aşağıda verilen adımları izleyerek bir görüntüden barkodları okuyabiliriz:

  • Öncelikle, BarCodeReader sınıfını kullanarak bir resim yükleyin.
  • readBarCodes() yöntemini kullanarak BarCodeResult sınıf nesnesinde tanıma sonuçlarını alın.
  • Son olarak, sonuçlar arasında dolaşın ve barkodun türünü ve metnini gösterin.

Aşağıdaki kod örneği, Java kullanılarak bir görüntüden barkodun nasıl okunacağını gösterir.

// Bu kod örneği, bir görüntüden barkodun nasıl okunacağını gösterir.
// Resim dizinine giden yol
String dataDir = "C:\\Files\\BarCode\\";

// Barkod okuyucuyu başlat
BarCodeReader reader = new BarCodeReader(dataDir + "CodeText.jpg");

// Barkodu oku ve sonuçları göster
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
Bir Görüntüden Barkod Okuyun.

Java’daki bir görüntüden barkod okuyun.

Java’da Belirli Türdeki Barkodu Tanıma

Aşağıda verilen adımları izleyerek bir görüntüden belirli bir türdeki barkodu okuyabiliriz:

  • İlk olarak, ImageIO.read() yöntemini kullanarak bir görüntü dosyasının arabellek verilerini okuyun.
  • Ardından, arabelleğe alınmış bir görüntü ve Decode Type ile BarCodeReader sınıfının bir örneğini oluşturun.
  • Ardından, CODE39STANDARD gibi belirli bir türdeki barkodu okumak için bir barkod kod çözme türü ayarlayın.
  • Bundan sonra, readBarCodes() yöntemini kullanarak BarCodeResult sınıf nesnesinde tanıma sonuçlarını alın.
  • Son olarak, sonuçlar arasında dolaşın ve barkodun türünü ve metnini gösterin.

Aşağıdaki kod örneği, Java kullanılarak bir görüntüden belirli bir türdeki barkodun nasıl okunacağını gösterir.

// Bu kod örneği, belirli bir kod çözme türündeki barkodun bir görüntüden nasıl okunacağını gösterir.
// Resim dizinine giden yol
String dataDir = "C:\\Files\\BarCode\\";

// Tamponlanmış görüntü elde edin
BufferedImage img = ImageIO.read(new File(dataDir + "CODE_39_STANDARD.jpg"));

// Barkod okuyucuyu başlat
BarCodeReader reader = new BarCodeReader(img, DecodeType.CODE_39_STANDARD);

// Code39Extended türündeki barkodu oku
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
Belirli Tür Barkodunu Tanıyın.

Java’da belirli bir türdeki barkodu tanır.

Java’daki Görüntüden Birden Çok Barkod Oku

Ayrıca aşağıda verilen adımları takip ederek bir görüntüden mevcut tüm barkodları okuyabiliriz:

  • Öncelikle, BarCodeReader sınıfını kullanarak bir resim yükleyin.
  • Ardından, bir barkod çözme türünü ALLSUPPORTEDTYPES olarak ayarlayın.
  • Bundan sonra, readBarCodes() yöntemini kullanarak BarCodeResult sınıf nesnesinde tanıma sonuçlarını alın.
  • Son olarak, sonuçlar arasında dolaşın ve barkodun türünü ve metnini gösterin.

Aşağıdaki kod örneği, Java kullanılarak bir görüntüden birden çok barkodun nasıl okunacağını gösterir.

// Bu kod örneği, bir görüntüden birden çok barkodun nasıl okunacağını gösterir.
// Resim dizinine giden yol
String dataDir = "C:\\Files\\BarCode\\";

// Barkod okuyucuyu başlat
BarCodeReader reader = new BarCodeReader(dataDir + "MultipleBarcodes.png", DecodeType.ALL_SUPPORTED_TYPES);

// Giriş görüntüsünde bulunan tüm barkod türlerini okuyun
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
  System.out.println("-------------------------");
}
Görüntüden Çoklu Barkodları Okuyun.

Bir görüntüden birden fazla barkod okuyun.

Java kullanarak Barkodun X ve Y Koordinatlarını Alın

Tespit edilen barkodun X ve Y koordinatlarını aşağıdaki adımları izleyerek bir görüntüden okuyabiliriz:

  • Öncelikle, BarCodeReader sınıfını kullanarak bir resim yükleyin.
  • Ardından, readBarCodes() yöntemini kullanarak BarCodeResult sınıf nesnesinde tanıma sonuçlarını alın.
  • Ardından, sonuçlar arasında dolaşın ve getRegion() öğesinin boş olup olmadığını kontrol edin.
  • Bundan sonra, getPoints() kullanarak barkod bölgesini sınırlayan Points dizisini alın.
  • Son olarak barkodun X ve Y noktalarını gösterin.

Aşağıdaki kod örneği, Java kullanılarak bir görüntüden bir barkodun X ve Y koordinat noktalarının nasıl alınacağını gösterir.

// Bu kod örneği, bir görüntüden barkodların X ve Y bölgesi noktasının nasıl okunacağını gösterir.
// Resim dizinine giden yol
String dataDir = "C:\\Files\\BarCode\\";

// Barkod okuyucuyu başlat
BarCodeReader reader = new BarCodeReader(dataDir + "Code39Std.png", DecodeType.ALL_SUPPORTED_TYPES);

// Barkod oku
for (BarCodeResult result : reader.readBarCodes()) {
  if (result.getRegion() != null) {
    // Tespit edilen tüm barkodların x ve y koordinatlarını görüntüleyin
    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);
  }
}
Barkodun X ve Y Koordinatlarını Alın.

Bir görüntüden bir barkodun X ve Y koordinatlarını alın.

Java’daki Görüntünün Belirli Bölgesinden Barkod Okuma

Aşağıda verilen adımları takip ederek bir görselin belirli bir bölgesinden veya alanından bir barkod okuyabiliriz:

  • İlk olarak, ImageIO.read() yöntemini kullanarak bir görüntü dosyasının arabellek verilerini okuyun.
  • Ardından, BarCodeReader sınıfının bir örneğini oluşturun. Argüman olarak arabelleğe alınmış bir görüntü, bir dikdörtgen alan ve bir Kod Çözme Türü alır.
  • Bundan sonra, readBarCodes() yöntemini kullanarak BarCodeResult sınıf nesnesinde tanıma sonuçlarını alın.
  • Son olarak, sonuçlar arasında dolaşın ve barkodun türünü ve metnini gösterin.

Aşağıdaki kod örneği, Java kullanılarak bir görüntünün belirli bir bölgesinden bir barkodun nasıl okunacağını gösterir.

// Bu kod örneği, bir görüntünün belirli bir bölgesinden barkodun nasıl okunacağını gösterir.
// Resim dizinine giden yol
String dataDir = "C:\\Files\\BarCode\\";

// BufferedImage'ı Alın
java.awt.image.BufferedImage img = javax.imageio.ImageIO.read(new java.io.File(dataDir + "specificRegion.png"));

// BarCodeReader sınıfının bir örneğini oluşturun
// ve barkodun aranacağı bir alan belirtin
BarCodeReader reader = new BarCodeReader(img, new Rectangle(0, 0, 700, 100), DecodeType.ALL_SUPPORTED_TYPES);

// Sağlanan alandaki tüm barkodları okuyun
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
Görüntünün Belirli Bölgesinden Barkod Oku.

Java’da bir görüntünün belirli bir bölgesindeki barkodları okuyun.

Ücretsiz Lisans Alın

Kitaplığı değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, şunların nasıl yapılacağını öğrendik:

  • Barkod görüntüsünü programlı olarak yükleyin;
  • bir görüntüden farklı türlerdeki barkodları tanır;
  • Java’da barkod koordinatlarını okuyun;
  • tek bir görüntüden birden fazla barkodu algılayın ve okuyun;
  • bir görüntünün belirli bir alanındaki barkodları algılar ve okur.

Ayrıca, belgeleri kullanarak Aspose.BarCode for Java API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız