
คุณกำลังมองหาวิธีอ่านบาร์โค้ดหรือ QR โค้ดจากภาพโดยอัตโนมัติอยู่หรือไม่? หากคุณเป็นนักพัฒนา และคุณต้องการสร้างแอปพลิเคชันบาร์โค้ดรีดเดอร์ของคุณเอง? คุณมาถูกที่แล้ว บาร์โค้ดมีความสำคัญต่อการติดตามสินค้าคงคลังและการจัดส่งผลิตภัณฑ์จากการผลิตไปยังจุดขาย เราสามารถตรวจจับ รับรู้ และอ่านประเภทต่าง ๆ ของบาร์โค้ดและ QR โค้ดในแอปพลิเคชัน .NET ได้อย่างง่ายดาย ในบทความนี้เราจะแสดงให้คุณเห็นถึงวิธีการอ่านบาร์โค้ดจากภาพใน C# โดยทำตามเพียงไม่กี่ขั้นตอนง่าย ๆ คุณสามารถใช้บทความนี้เป็นคู่มือทีละขั้นตอนสำหรับการพัฒนาแอปพลิเคชันบาร์โค้ดรีดเดอร์หรือสแกนเนอร์
ก่อนอื่นเราจะมาดูที่ C# Barcode Reader API เพื่ออ่านบาร์โค้ดที่มีอยู่ในภาพที่นำเข้า ต่อไปเราจะเดินผ่านขั้นตอนของวิธีการตรวจจับ รับรู้ และดึงข้อมูลบาร์โค้ดจากภาพ คุณจะพบกับขั้นตอนโดยละเอียดและตัวอย่างโค้ด สุดท้ายเราจะให้ลิงค์ที่เป็นประโยชน์สำหรับการปรับปรุงเพิ่มเติม ดังนั้นเรามาเริ่มกันเถอะ!
หัวข้อดังต่อไปนี้จะถูกกล่าวถึงในบทความนี้:
- C# API เพื่ออ่านบาร์โค้ดจากภาพ
- ขั้นตอนในการอ่านบาร์โค้ดจากภาพ
- อ่านบาร์โค้ดจาก Bitmap
- อ่านบาร์โค้ดจากภาพโดยใช้ Stream
- วิธีอ่านบาร์โค้ดประเภทเฉพาะ
- อ่านบาร์โค้ดหลายประเภทจากภาพ
- ตรวจจับและอ่านชุดสัญลักษณ์ที่กำหนดไว้ล่วงหน้า
- ตรวจจับและอ่านบาร์โค้ดหลายรายการจากภาพ
- รับพิกัด X และ Y ของบาร์โค้ด
- อ่านบาร์โค้ดจากพื้นที่เฉพาะของภาพ
- อ่านบาร์โค้ดจากหลายพื้นที่ของภาพ
C# API เพื่ออ่านบาร์โค้ดจากภาพ
ในการอ่านบาร์โค้ดจากภาพเราจะใช้ Aspose.BarCode for .NET API API นี้ช่วยให้เราสามารถสร้าง สแกน และอ่านบาร์โค้ดประเภทต่าง ๆ ได้ สัญลักษณ์บาร์โค้ด API นี้ช่วยให้เราสามารถสร้างภาพบาร์โค้ดในรูปแบบ JPEG, TIFF, PNG, BMP, และ GIF
API นี้มีคลาส BarCodeReader ที่ช่วยให้สามารถรับรู้บาร์โค้ดประเภทต่าง ๆ ได้มากกว่า 60 ประเภทจากภาพที่กำหนด ขั้นตอนแรกในการตรวจจับบาร์โค้ดคือการระบุแหล่งที่มาของภาพที่มีบาร์โค้ด ซึ่งอาจเป็นไฟล์ อ็อบเจ็กต์ Bitmap หรือ Stream จากนั้นต้องระบุสัญลักษณ์เป้าหมายภายในพารามิเตอร์ DecodeType เราสามารถดูประเภทต่าง ๆ ของสัญลักษณ์ที่รองรับทั้งหมดโดยการระบุ DecodeType.AllSupportedTypes เมธอด ReadBarCodes() ของคลาสนี้จะส่งคืนอาร์เรย์ของบาร์โค้ดที่รู้จัก คลาส BarCodeResult ของ API จะเก็บข้อมูลบาร์โค้ดที่รู้จัก เช่น ประเภทบาร์โค้ด ข้อความโค้ด พื้นที่ และพารามิเตอร์อื่น ๆ
API นี้ยังอนุญาตให้ระบุพื้นที่ของภาพที่เครื่องอ่านบาร์โค้ดควรอ่านได้ ซึ่งสามารถทำได้โดยใช้วัตถุ Rectangle ของ .NET และช่วยหลีกเลี่ยงความจำเป็นในการหาบาร์โค้ดในพื้นที่ของภาพที่ไม่มีบาร์โค้ดโดยค่าเริ่มต้น
กรุณา ดาวน์โหลด DLL ของ API หรือทำการติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.BarCode
อ่านบาร์โค้ดจากภาพโดยใช้ C#
เราสามารถอ่านบาร์โค้ดจากภาพได้อย่างง่ายดายโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส BarCodeReader
- เรียกใช้เมธอด readBarCodes() และรับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดจากภาพใน C#.

อ่านบาร์โค้ดจากภาพใน C#.
อ่านบาร์โค้ดจาก Bitmap ใน C#
เราสามารถอ่านบาร์โค้ดจากภาพได้อย่างง่ายดายโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส Bitmap
- จากนั้นสร้างอ็อบเจ็กต์ของคลาส BarCodeReader ที่มีอ็อบเจ็กต์ Bitmap
- เรียกใช้เมธอด ReadBarCodes() และรับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดจาก bitmap ใน C#.

อ่านบาร์โค้ดจาก Bitmap ใน C#.
อ่านบาร์โค้ดจากภาพโดยใช้ Stream ใน C#
เรายังสามารถโหลดภาพบาร์โค้ดโดยใช้ไฟล์ Stream และอ่านบาร์โค้ดโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส FileStream
- จากนั้นสร้างอ็อบเจ็กต์ของคลาส BarCodeReader โดยใช้สตรีม
- เรียกใช้เมธอด ReadBarCodes() และรับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดจากภาพโดยใช้ Stream ใน C#.
อ่านบาร์โค้ดประเภทเฉพาะจากภาพใน C#
แนะนำให้เลือกสัญลักษณ์บาร์โค้ดเป้าหมายที่ควรพิจารณาเพื่อการรับรู้เพื่อที่จะลดระยะเวลาที่ใช้ในการทำการรับรู้และหลีกเลี่ยงความพยายามในการรับรู้บาร์โค้ดที่ล้าสมัย
เราสามารถระบุประเภทบาร์โค้ดเป้าหมายและอ่านบาร์โค้ดจากภาพโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส BarCodeReader
- จากนั้นตั้งค่าประเภทการถอดรหัสบาร์โค้ด เช่น Code39Standard
- หลังจากนั้นให้รับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult โดยใช้เมธอด ReadBarCodes()
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดประเภทเฉพาะจากภาพโดยใช้ C#.

ตรวจจับบาร์โค้ดประเภทเฉพาะจากภาพใน C#.
อ่านบาร์โค้ดหลายประเภทจากภาพใน C#
เรายังสามารถระบุประเภทบาร์โค้ดหลายประเภทโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส BarCodeReader
- จากนั้นตั้งค่าประเภทการถอดรหัสบาร์โค้ดโดยใช้เมธอด SetBarCodeReadType()
- หลังจากนั้นให้รับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult โดยใช้เมธอด ReadBarCodes()
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดหลายประเภทจากภาพโดยใช้ C#.

อ่านบาร์โค้ดหลายประเภทจากภาพใน C#
เรายังสามารถระบุประเภทการถอดรหัสหลายประเภทในคอนสตรัคเตอร์ของคลาส BarCodeReader ได้ดังนี้:
BarCodeReader reader = new BarCodeReader("C:\\Files\\BarCode\\Code39Standard.jpg", DecodeType.DataMatrix, DecodeType.QR, DecodeType.Code39Extended);
อ่านชุดบาร์โค้ดประเภทที่กำหนดไว้ล่วงหน้าจากภาพใน C#
เราสามารถอ่านชุดสัญลักษณ์ที่กำหนดไว้ล่วงหน้าสำหรับการรับรู้ที่กำหนดในคลาส DecodeTypes เราสามารถตั้งค่าชุดใดชุดหนึ่งจากชุดที่กำหนดไว้ดังนี้:
- AllSupportedTypes - ประเภทบาร์โค้ดที่รองรับทั้งหมด
- Types1D - สัญลักษณ์ 1D ที่รองรับทั้งหมด
- Types2D - สัญลักษณ์ 2D ที่รองรับทั้งหมด
- PostalTypes - สัญลักษณ์ไปรษณีย์ที่รองรับทั้งหมดที่ใช้โดยบริการไปรษณีย์
- MostCommonTypes - ชุดมาตรฐานบาร์โค้ดที่ใช้กันอย่างแพร่หลายที่สุด
เราสามารถระบุชุดที่กำหนดไว้ล่วงหน้าโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส BarCodeReader
- จากนั้นตั้งค่าประเภทการถอดรหัสบาร์โค้ดในคอนสตรัคเตอร์ของ BarCodeReader หรือเมธอด SetBarCodeReadType เช่น DecodeType.Types2D
- หลังจากนั้นให้รับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult โดยใช้เมธอด ReadBarCodes()
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดโดยใช้ชุดสัญลักษณ์ที่กำหนดไว้ล่วงหน้าใน C#.

อ่านชุดบาร์โค้ดประเภทที่กำหนดไว้ล่วงหน้าจากภาพใน C#
อ่านบาร์โค้ดหลายรายการจากภาพใน C#
เรายังสามารถอ่านบาร์โค้ดทั้งหมดที่มีอยู่จากภาพโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส BarCodeReader
- จากนั้นตั้งค่าประเภทการถอดรหัสบาร์โค้ดเป็น ALL_SUPPORTED_TYPES
- หลังจากนั้นให้รับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult โดยใช้เมธอด ReadBarCodes()
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดหลายรายการจากภาพโดยใช้ C#.

อ่านบาร์โค้ดหลายรายการจากภาพ.
รับพิกัด X และ Y ของบาร์โค้ดโดยใช้ C#
เราสามารถอ่านพิกัด X และ Y ของบาร์โค้ดที่ตรวจพบจากภาพได้โดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส BarCodeReader
- จากนั้นรับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult โดยใช้เมธอด ReadBarCodes()
- จากนั้นวนลูปผ่านผลลัพธ์และตรวจสอบว่า Region ไม่เป็น null
- หลังจากนั้นให้รับอาร์เรย์ Points ที่ล้อมรอบพื้นที่บาร์โค้ดโดยใช้ Points
- สุดท้ายให้แสดงพิกัด X และ Y ของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการรับพิกัด X และ Y ของบาร์โค้ดจากภาพโดยใช้ C#.

รับพิกัด X และ Y ของบาร์โค้ดจากภาพ.
อ่านบาร์โค้ดจากพื้นที่เฉพาะของภาพใน C#
เราสามารถอ่านบาร์โค้ดจากพื้นที่เฉพาะหรือพื้นที่ของภาพได้โดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นอ่านข้อมูลเบฟเฟอร์ของไฟล์ภาพโดยใช้วิธี Bitmap
- จากนั้นสร้างอ็อบเจ็กต์ของคลาส BarCodeReader ที่รับภาพ พื้นที่สี่เหลี่ยม และประเภทการถอดรหัสเป็นอาร์กิวเมนต์
- หลังจากนั้นให้รับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult โดยใช้เมธอด ReadBarCodes()
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดจากพื้นที่เฉพาะของภาพโดยใช้ C#.

อ่านบาร์โค้ดจากพื้นที่เฉพาะของภาพใน C#.
อ่านบาร์โค้ดจากหลายพื้นที่ของภาพใน C#
เรายังสามารถอ่านบาร์โค้ดจากหลายพื้นที่ของภาพโดยทำตามขั้นตอนที่กำหนดไว้ด้านล่าง:
- ก่อนอื่นโหลดภาพโดยใช้คลาส Bitmap
- จากนั้นกำหนดพื้นที่สี่เหลี่ยมโดยใช้คลาส Rectangle
- จากนั้นสร้างอ็อบเจ็กต์ของคลาส BarCodeReader
- ในระหว่างนั้นเรียกใช้ SetBarCodeImage() โดยใช้วัตถุภาพและพื้นที่สี่เหลี่ยมเป็นอาร์กิวเมนต์
- ตามต้องการตั้งค่าประเภทการอ่านบาร์โค้ดโดยใช้เมธอด SetBarCodeReadType()
- หลังจากนั้นให้รับผลลัพธ์การรับรู้ในอ็อบเจ็กต์คลาส BarCodeResult โดยใช้เมธอด ReadBarCodes()
- สุดท้ายให้ทำการวนลูปผ่านผลลัพธ์และแสดงประเภทและข้อความของบาร์โค้ด
ตัวอย่างโค้ดด้านล่างแสดงให้เห็นว่า วิธีการอ่านบาร์โค้ดจากหลายพื้นที่ของภาพโดยใช้ C#.

อ่านบาร์โค้ดจากหลายพื้นที่ของภาพใน C#.
รับใบอนุญาตฟรี
คุณสามารถ ขอรับใบอนุญาตชั่วคราวฟรี เพื่อทดลองใช้ไลบรารีโดยไม่มีข้อจำกัดในการประเมินผล
สรุป
ในบทความนี้เราได้เรียนรู้วิธีการ:
- โหลดไฟล์ภาพบาร์โค้ด;
- อ่านภาพในรูปแบบ bitmap หรือโดยใช้ไฟล์ stream;
- รับรู้บาร์โค้ดประเภทต่าง ๆ จากภาพ;
- อ่านพิกัดบาร์โค้ด;
- ตรวจจับและอ่านบาร์โค้ดหลายรายการจากภาพเดียว;
- ตรวจจับและอ่านบาร์โค้ดจากพื้นที่เฉพาะของภาพ.
นอกจากการอ่านบาร์โค้ดจากภาพใน C# แล้ว คุณยังสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.BarCode for .NET API โดยใช้ เอกสาร หากมีข้อสงสัยใด ๆ โปรดอย่าลังเลที่จะติดต่อเราที่ ฟอรัมสนับสนุนฟรี.