Tin mới
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 5)
Độ phân giải
Chất lượng của hình ảnh mã vạch được quyết định bởi các trình tạo mã vạch được chọn. Về cơ bản, máy quét mã vạch sẽ đếm pixel trong một khu vực để xác định chiều rộng và vị trí của từng thanh dọc trong một mã vạch. Do vậy, nếu độ phân giải của hình ảnh thấp, quá trình này có thể bị ảnh hưởng.
Thông thường, cần tối thiểu 200 dpi để có thể nhận dạng được một mã vạch. Độ phân giải càng cao thì càng dễ nhận dạng. Việc cân bằng sao cho vừa nhận dạng được mã vạch hiệu quả nhưng vẫn tiết kiệm được bộ nhớ bằng cách giảm độ phân giải tối đa là khá quan trọng. Bạn chỉ nên giảm độ phân giải đến mức không tốn nhiều bộ nhớ, không nên giảm độ phân giải xuống thấp quá, bởi như vậy thì mã vạch sẽ thiếu mật độ pixel cần thiết để có thể nhận dạng được.
Nhìn chung, mã vạch 1D có thể hiểu được ít nhất 3 pixel trên mỗi thanh mã vạch mảnh nhất và khoảng cách giữa các thanh mã. Đối với mã vạch 2D, thường vào khoảng 5 pixel. Đôi lúc, dù độ phân giải được cài đặt phù hợp, mật độ pixel vẫn không được cải thiện. Điều này có thể do nhiều lý do: nhãn hoặc máy in chất lượng kém, v.v.
Xử lý mã vạch không thể đọc được hoặc bị hư hỏng
Đối với mã vạch không thể đọc được hoặc bị hư hỏng, có 3 cách:
- Dilation - thêm pixel vào phần rìa của các thanh mã, trong khi Erosion sẽ loại bỏ các pixel thừa ra khỏi phần rìa ngoài.
- Binarization - chuyển đổi hình ảnh thành đen và trắng, cho phép phân biệt dễ dàng hơn giữa các cạnh của hình ảnh.
- Despeckle - xem xét mức trung bình của các pixel trong một khu vực để thử và phát hiện xem có pixel nào có màu hoặc bị nhiễu trong quá trình thu nhận hình ảnh hay không.
De-skew mã vạch
De-skew mã vạch về cơ bản nghĩa là làm thẳng mã vạch bị lệch. Khi mã vạch bị lệch, tùy thuộc vào hướng lệch và độ lệch của nó, các thanh dọc trong một mã vạch có thể dày, mỏng khác bình thường. Do vậy, khi làm thẳng mã vạch, có thể khiến việc nhận dạng khó khăn hơn.
Ngoài ra, deskew cũng làm giảm chất lượng hình ảnh, dẫn đến giảm độ chính xác khi nhận dạng mã vạch. Với những vấn đề được đề cập này, bạn có thể sử dụng các tính năng xử lý trước hình ảnh của SDK (bộ công cụ phát triển phần mềm) để tự động giải mã mã vạch trong khi tối đa hóa độ chính xác trong việc nhận dạng mã vạch. Chưa kể nếu bạn deskew còn làm tốn thời gian xử lí và tốc độ bị chậm lại.
Khoảng cách quét
Đối với mã vạch 1D, khoảng cách quét rất quan trọng vì nó có thể ảnh hưởng đến việc nhận dạng mã vạch ở chỗ bạn có thể quét các pixel không cần thiết. Ví dụ: số “1” trên một trang, các kí tự trong một văn bản hoặc một phần của ký hiệu mã vạch, đều có thể bị nhầm lẫn thành một thanh mã vạch tùy vào vị trí và khoảng cách quét. Khoảng cách lý tưởng thường là từ 5 pixel trở lên để có tốc độ giải mã và độ chính xác tối ưu. Tóm lại, bạn đặt khoảng cách quét càng cao (hơn năm pixel), tốc độ quét sẽ càng nhanh.
Góc quét của máy đọc mã vạch cũng có thể ảnh hưởng đến khoảng cách quét cần thiết và loại máy bạn cần. Nhìn chung, máy quét laser tốt hơn trong việc đọc ở khoảng cách hơn 60cm khi so với điện thoại thông minh. Loại máy này cũng thường tốt hơn trong trường hợp ánh sáng yếu.
Kết luận lại là, bạn nên chọn máy đọc mã vạch đã cài đặt sẵn bên trong những phần mềm xử lý trước hình ảnh hiệu quả, thì tình trạng mã vạch bị hỏng hoặc khó đọc có thể được xử lí nhanh chóng trong quá trình quét giúp tăng tỷ lệ mã vạch được nhận dạng.
Nguồn: https://barcode.com
Người dịch: Leah Trinh
Bản quyền thuộc công ty Beetech.