Những điều bạn cần biết trong tối ưu hóa công nghệ đọc mã vạch (Phần 2)

Muốn lựa chọn được loại mã vạch phù hợp đòi hỏi bạn cần phải xem xét nhiều yếu tố. Bạn phải tìm hiểu và làm quen với những loại mã vạch khác nhau, khả năng, yêu cầu của từng loại để từ đó có thể lựa chọn được loại mã vạch thích hợp cho từng hoàn cảnh sử dụng.

Để chọn mã vạch cho một nhiệm vụ nhất định, bạn cần hiểu bộ ký tự của nó. Nhìn chung có ba bộ ký tự khác nhau:

  • Bộ kí tự số – chỉ bao gồm các số (0-9)
  • Bộ kí tự chữ và số – bao gồm kí tự số và kí tự chữ cái (0-9 và A-Z)
  • Bộ kí tự bảng mã ASCII đầy đủ – bao gồm bất kỳ ký tự ASCII nào (giá trị 0-127).

Khả năng của mã vạch bao gồm việc sử dụng hàng chục ký tự để mã hóa đối với mã vạch 1D cho đến hàng ngàn ký tự đối với mã vạch 2D. Tuy nhiên, không phải lúc nào nhiều hơn cũng là tốt hơn. Lựa chọn loại mã vạch mà bạn có thể tối đa hóa kí tự sẽ hiệu quả hơn là loại mã vạch có số lượng kí tự nhiều gấp 2,3 lần số bạn cần dùng. Thêm nữa, loại mã chứa nhiều kí tự cũng có thể ảnh hưởng đến tốc độ xử lí mã.

Bản địa hóa và giải mã

  • Cách giải mã mã vạch 1D

Khi bắt đầu quét, máy quét sẽ tìm kiếm bất kỳ mã vạch nào để nhận dạng loại mã. Một đầu đọc mã vạch quét toàn bộ khổ rộng của hình ảnh để xác định mã vạch cần quét – thường là những hình đen / trắng.

Khi mã vạch được xác định, API mã vạch tiến hành nhận dạng khu vực cần quét. Quá trình giải mã bắt đầu sau đó. Trong bước này, máy quét mã vạch sẽ tiếp nhận thông tin được mã hóa, sau đó đếm và so sánh các điểm ảnh (pixel) để khớp với các định danh đầu và cuối. Sau đó, nó diễn giải các mã giữa các mã định danh đầu và cuối dựa trên các thông số kỹ thuật của loại mã đó để giải mã được dữ liệu cần mã hóa.

  • Cách giải mã mã vạch 2D

Tương tự như mã vạch 1D, khi bắt đầu quét, máy quét sẽ tìm mã vạch. Các ký hiệu mã vạch khác nhau có các mẫu nhận dạng khác nhau.

Trong bước giải mã, API trình đọc mã vạch diễn giải các mẫu của các mô-đun đen và trắng dựa trên thông số kỹ thuật loại mã đó. Các thông số kỹ thuật đều được chuẩn hóa. Bên cạnh thông tin mã vạch, thường gồm kí tự số và chữ cái, mã vạch 2D thường chứa cả dữ liệu không cần đến. Phần mềm sau đó có thể đọc và giải mã giá trị dữ liệu. Giá trị được mã hóa xếp thành những núi kí tự mã.

Phương pháp bản địa hóa nâng cao

Có ba phương pháp bản địa hóa:

  • Khối kết nối (connected blocks)
  • Số liệu thống kê (statistics)
  • Phân đoạn dòng (phân đoạn dòng)

Mỗi phương pháp đều có những ưu điểm và nhược điểm riêng. Một máy quét mã vạch được thiết kế tốt cần phải cân bằng được cả tốc độ và độ chính xác.

Khối kết nối

Phương pháp bản địa hóa đầu tiên là thông qua việc xác định các khối kết nối trong một hình ảnh. Nó tìm kiếm những khối pixel kết nối với nhau, ví dụ những khối pixel kế tiếp nhau.

Khi tất cả các khối trong một hình ảnh được xác định, nó sẽ tìm các mẫu mã vạch đã biết để lọc ra vị trí mã vạch. Chẳng hạn, mã QR có đặc trưng là có những hình vuông ở ba góc của mã vạch. Mỗi hình vuông trong góc này bao gồm hai khối: một hình vuông màu đen nằm giữa và hình vuông viền đen ở bên ngoài. Tỷ lệ giữa độ dày đường viền đen của hình vuông bên ngoài, khoảng cách giữa 2 hình vuông và chiều rộng hình vuông ở giữa là 1: 1: 3.

Khi đã xác định được ba hình vuông của mã (nằm ở 3 trên tổng 4 góc), thì các góc của mã vạch cũng cần được xác định, nhóm ba góc chứa hình vuông vào cùng một mã vạch, xem xét các trường hợp đặc biệt như khi hình vuông bị thiếu hoặc bị hỏng một phần, v.v. Khi vùng mã vạch cần quét được xác định, phần thừa sẽ được lọc ra.

Ưu điểm chính của phương pháp này là tốc độ nhanh và tiêu hao ít năng lượng xử lí. Tuy nhiên lại hạn chế ở chỗ khả năng đọc được những mã vạch bị hư hỏng là không cao. Chẳng hạn, nếu một cây bút được đánh mã vạch 1D theo chiều ngang, các thanh mã dọc được phân tách khi đó là một khối kết nối với nhau và khiến cho mã vạch 1D khó nhận biết.

Số liệu thống kê

Ưu điểm chính của phương pháp bản địa hóa này là có thể xác định mã vạch kể cả khi ảnh bị mờ. Nếu một vùng tùy ý trong hình ảnh nhị phân được chọn để tính tỷ lệ giữa các pixel đen và trắng, có thể kết luận được vùng cụ thể có khả năng chứa mã vạch hay không. Khi một vùng được kết luận có chứa mã vạch, nó sẽ tinh chỉnh thêm các vùng mã vạch cho các vị trí mã vạch bằng cách tìm kiếm các mẫu mã vạch đã biết.

Phân đoạn dòng

Đúng như tên gọi, phương pháp này tìm các đường thẳng dọc trong một bức ảnh và sau đó lọc ra các vùng mã vạch bằng cách khớp các đường thẳng với các mẫu mã vạch đã biết. Phương pháp này phù hợp nhất cho những mã vạch bị hư hỏng. Tuy vậy, nó đòi hỏi sự tính toán kỹ lưỡng hơn so với phương pháp khối kết nối.

Nguồn: https://barcode.com

Người dịch: Leah Trinh

Bản quyền thuộc công ty Beetech.

Tags toi uu hoa cong nghe doc ma vach, kha nang doc ma vach

local_phone arrow_upward