Cải thiện độ chính xác và tỷ lệ giải mã vẫn là ưu tiên hàng đầu đối với các nhà phát triển làm việc với SDK đọc mã vạch. Mặc dù các điều chỉnh cấu hình và cải tiến trong thuật toán có thể dẫn đến những cải tiến mạnh mẽ, nhưng người dùng cuối cũng có thể đóng một vai trò quan trọng bằng cách cải thiện độ phân giải hình ảnh tại thời điểm hình ảnh được chụp, đảm bảo đủ vùng yên tĩnh và tránh các khiếm khuyết khác. Vì khi những
máy đọc mã vạch cầm tay hay để bàn không đọc được, thì ứng dụng và SDK là sự ứng cứu cuối cùng.
Để biết thêm thông tin, hãy đọc bài đăng này về cách cải thiện độ chính xác của nhận dạng mã vạch khi sử dụng ứng dụng. Trong bài đăng này, chúng tôi xem các nhà phát triển ứng dụng có thể làm gì để đọc mã vạch bị hỏng, cải thiện độ chính xác nhận dạng mã vạch và tỷ lệ giải mã bằng cách sử dụng các thông số sau.
Giải mã các mã vạch không đọc được phổ biến nhất
Bất kể ngành nào, bạn đều có thể gặp phải ít nhất một trong những trường hợp mã vạch không đọc được phổ biến nhất sau:
- Góc cạnh
- Độ cong
- Hư hỏng / méo mó
- Lườm
- Độ tương phản thấp
- Ánh sáng yếu
- Nhiều
- Bóng
Trong một số tình huống mã vạch khó đọc nhất định, việc điều chỉnh một vài thông số có thể giúp tăng đáng kể tỷ lệ giải mã của bạn. Dưới đây là danh sách các tham số bạn có thể đặt để giúp bản địa hóa và xử lý trước hình ảnh, giúp chuẩn bị hình ảnh để giải mã thành công. Hãy nhớ rằng, tối đa hóa độ chính xác phải trả giá bằng tốc độ.
![[Image: 62603825-6e682100-b8ff-11e9-8448-7bf138c6d16a.PNG]](https://user-images.githubusercontent.com/5687846/62603825-6e682100-b8ff-11e9-8448-7bf138c6d16a.PNG)
Các tên thông số này tùy theo các loại SDK có thể sẽ có khác nhau. Tuy nhiên, các công dụng của chúng hầu như là tương tự và không có khả năng sai lệch.
1. AntiDamageLevel
Tham số này cho biết có bao nhiêu thuật toán bản địa hóa cần sử dụng để bản địa hóa vùng mã vạch nhằm tối đa hóa cơ hội bản địa hóa được một mã vạch bị hỏng nặng. Nếu bạn có một hình ảnh bị hỏng nghiêm trọng với các vết nhòe, vết mực, dấu trên mã vạch, v.v., hãy đặt giá trị của AntiDamageLevel thành 9 để tối đa hóa tốc độ giải mã.
2. DeblurLevel
Nếu bạn có hình ảnh mờ, bạn có thể đặt thuộc tính này thành giá trị lớn. Giá trị càng cao, thư viện của chúng tôi sẽ dành nhiều thời gian hơn cho việc giải mã hình ảnh. Đặt nó thành 9 nếu bạn sẵn sàng đánh đổi tốc độ.
3. GrayEqualizationSensitive
Điều này đặt ngưỡng độ nhạy được sử dụng để cân bằng màu xám. Giá trị càng cao, khả năng cân bằng màu xám càng được kích hoạt. Nếu bạn có hình ảnh có mức độ tương phản thấp trong đó mã vạch không được xác định rõ ràng so với nền, hãy đặt thuộc tính này thành 9. Tuy nhiên, nó có thể làm giảm hiệu suất trên hình ảnh có mức độ tương phản cao. Vì vậy, chỉ sử dụng thông số này trên các hình ảnh có độ tương phản kém.
![[Image: common-unreadable-barcodes.png]](https://www.dynamsoft.com/blog/wp-content/uploads/2019/06/common-unreadable-barcodes.png)
Nguyên nhân cho tương phản kém này có thể do các tác nhân bên ngoài hoặc máy in mã vạch đã cũ. Bạn có thể tham khảo mua các loại máy in tem tại link:
http://radiantglobal.com.vn/may-in-ma-vach
4. MaxDimOfFullImageAsBarcodeZone
Nếu bạn có một hình ảnh và vùng mã vạch tạo nên gần như toàn bộ hình ảnh, thì bạn có thể đặt thuộc tính này thành giá trị lớn hơn để giải mã toàn bộ hình ảnh dưới dạng mã vạch. Đặt giá trị này lớn hơn kích thước hình ảnh để kích hoạt chế độ “FullImageAsBarcodeZone”. Do đó, kết quả mã vạch sẽ chính xác hơn.
5. PDFRasterDPI
![[Image: low-contrast-1d-barcode.jpg]](https://www.dynamsoft.com/blog/wp-content/uploads/2019/06/low-contrast-1d-barcode.jpg)
Nếu bạn đang cố gắng giải mã tệp PDF bằng phương pháp DecodeFile, thư viện sẽ chuyển đổi tệp PDF thành (các) hình ảnh trước tiên, sau đó thực hiện nhận dạng mã vạch. Để đảm bảo mã vạch của bạn trong tệp PDF có thể đọc được, hãy đặt độ phân giải thành ít nhất 300 dpi. Độ phân giải càng cao càng tốt.
6. RegionPredetectionMode
Nếu mã vạch của bạn lớn và vùng mã vạch trên hình ảnh nhỏ, chúng tôi khuyên bạn nên đặt thuộc tính này thành “RPM_Enable” để tăng tốc quá trình bản địa hóa và cải thiện độ chính xác của nhận dạng.
7. BinarizationBlockSize
Kích thước khối đề cập đến kích thước của vùng lân cận pixel được sử dụng để tính toán giá trị ngưỡng cho pixel. Đặt kích thước khối mã hóa nhị phân gấp bảy lần kích thước mô-đun có thể giúp tạo hình ảnh nhị phân chất lượng cao. Điều này làm tăng cơ hội mã vạch được bản địa hóa thành công.
8. ScaleDownThreshold
Thông số này chủ yếu được sử dụng để tối ưu hóa tốc độ. Tuy nhiên, điều này có thể đặc biệt hữu ích khi vùng mã vạch nhỏ hơn đáng kể so với toàn bộ kích thước hình ảnh.
Công ty Radiant Global ADC Việt Nam
Địa Chỉ: 181 Cao Thắng, Phường 12, Quận 10, Tp. Hồ Chí Minh
Hotline: 0903 803 810
Email:
sales@radiantglobal.com.vn
Website:
http://radiantglobal.com.vn
Facebook:
https://www.facebook.com/RadiantGlobalADCVietnam/
Youtube:
https://www.youtube.com/channel/UCJsczTK...oapknB9V8A