TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Với sự phát triển của công nghiệp 4.0, mã barcode ngày càng trở nên phổ biến trong việc truy xuất thông tin sản phẩm nhờ vào tính nhanh gọn và tiện lợi Trong thời đại công nghệ hiện đại, người tiêu dùng có thể dễ dàng mua sắm trực tuyến từ bất kỳ đâu trên thế giới mà không cần phải đến tận nơi Điều này giúp tiết kiệm thời gian và công sức, dẫn đến sự bùng nổ mạnh mẽ của các dịch vụ giao hàng, phục vụ nhu cầu của những khách hàng thông minh.
Quản lý và phân loại hàng ngàn sản phẩm mỗi ngày có thể trở nên nhàm chán và mệt mỏi Vì vậy, việc áp dụng các hệ thống điều khiển tự động cho từng phần hoặc toàn bộ quy trình sản xuất là cần thiết, nhằm nâng cao năng suất, chất lượng và sự ổn định trong sản xuất.
Trong bối cảnh kinh tế thị trường và hội nhập toàn cầu, cạnh tranh về mẫu mã và chất lượng sản phẩm trở nên cấp thiết, đặc biệt trong lĩnh vực giao hàng tại Việt Nam Hiện tại là thời điểm quan trọng để các doanh nghiệp nỗ lực chiếm lĩnh thị trường thông qua việc nâng cao chất lượng dịch vụ, giao hàng nhanh chóng, cẩn thận và giá cả hợp lý, nhằm trở thành lựa chọn hàng đầu của khách hàng Để đạt được điều này, việc áp dụng quy trình công nghệ tiên tiến vào sản xuất là rất cần thiết, giúp nâng cao chất lượng và giảm giá thành sản phẩm Bên cạnh đó, xu hướng sử dụng công nghệ xử lý ảnh để đọc mã barcode với tốc độ cao cũng ngày càng trở nên quan trọng Các sản phẩm sau khi được nhận diện bởi camera và cảm biến sẽ truyền thông tin đến máy tính, từ đó điều khiển cơ cấu chấp hành để sắp xếp sản phẩm một cách chính xác và nhanh chóng, góp phần giải quyết bài toán quản lý và phân loại sản phẩm hiệu quả.
Mục đích
Mô hình đọc barcode tốc độ cao được thiết kế nhằm hỗ trợ quản lý, kiểm tra và phân loại sản phẩm một cách thông minh, linh hoạt và tiện lợi Hệ thống ứng dụng công nghệ xử lý ảnh kết hợp với đĩa xoay, mang lại sản phẩm chất lượng cao và hiệu quả xử lý nhanh chóng Sản phẩm này có khả năng áp dụng trong mọi lĩnh vực và hoạt động sản xuất có sử dụng mã barcode Bài viết sẽ tập trung vào những vấn đề chính liên quan đến công nghệ và ứng dụng của mô hình này.
- Cảm biến phát hiện vật cần đọc mã.
- Đĩa xoay sản phẩm tốc độ cao.
- Ứng dụng xử lý ảnh đọc mã barcode.
Đối tượng nghiên cứu
- Đối tượng nghiên cứu: Mã barcode có trên các hộp ghim giấy.
- Phạm vi nghiên cứu: Tập trung ứng dụng xử lý ảnh đọc mã barcode thỏa mãn các điều kiện:
+ Ánh sáng bình thường, ngược sáng, ánh sáng đèn điện.
+ Góc ảnh: Trực diện hoặc góc nghiêng không quá 30 o
+ Ảnh có chất lượng cao.
Phương pháp nghiên cứu
Phương pháp nghiên cứu kế thừa:
- Dựa vào các thuật toán đã có để phân tính đối tượng.
- Kế thừa từ các công trình nghiên cứu khoa học và sử dụng các phần mềm Opencv, ngôn ngữ lập trình C#.
Phương pháp tham khảo tài liệu : bằng cách thu thập thông tin từ sách, tạp chí về điện tử và truy cập internet.
CƠ SỞ LÝ THUYẾT
Nhu cầu ứng dụng đọc mã barcode
2.1.1 Kiểm tra, xác định nguồn gốc sản phẩm
Trong bối cảnh hàng giả ngày càng tinh vi, người tiêu dùng ngày càng lo lắng về chất lượng và nguồn gốc sản phẩm khi mua sắm Việc in mã code trên bao bì không chỉ hỗ trợ người bán trong quản lý sản phẩm mà còn cho phép người mua kiểm tra chính xác thông tin sản phẩm mình muốn mua.
Hình 2.1 Kiểm tra mã sản phẩm
Hệ thống phân loại sản phẩm là một giải pháp tự động hoặc bán tự động giúp phân nhóm sản phẩm dựa trên các thuộc tính chung Mục đích của hệ thống này là để thực hiện các quy trình phân loại, đóng gói hoặc loại bỏ sản phẩm hỏng một cách hiệu quả.
Hệ thống phân loại sản phẩm dựa trên mã vạch cho phép phân loại hàng hóa thông qua thông tin chứa trong từng mã vạch Phương pháp này sử dụng camera để quét hình ảnh, giúp nhận diện sản phẩm một cách nhanh chóng và chính xác Hệ thống này thường được áp dụng trong các dây chuyền phân loại thư, bưu kiện và hàng hóa giao gửi, mang lại hiệu quả cao trong quản lý và vận chuyển.
Hình 2.2 Nhu cầu chuyển giao hàng hóa
Hình 2.3 Một số dây chuyền phân loại theo mã vạch
Trong bối cảnh thương mại điện tử hiện nay, việc đáp ứng nhu cầu ngày càng cao của người tiêu dùng và khắc phục những khó khăn trong quy trình phân loại dịch vụ là vô cùng quan trọng Để đảm bảo chất lượng dịch vụ tốt nhất, các sản phẩm cần được phân loại và sắp xếp theo từng loại trước khi giao đến nhiều khu vực khác nhau Hệ thống phân loại sản phẩm đóng vai trò thiết yếu trong việc tối ưu hóa quy trình giao hàng nhanh chóng và hiệu quả.
Hệ thống phân loại sản phẩm chủ yếu được áp dụng trong sản xuất công nghiệp, nhằm phân biệt các sản phẩm dựa trên các thuộc tính khác nhau Qua đó, hệ thống này giúp sắp xếp sản phẩm theo yêu cầu, kiểm tra chất lượng và phân loại chúng một cách hiệu quả.
Hệ thống phân loại sản phẩm đóng vai trò quan trọng trong các dây chuyền sản xuất hiện đại, giúp tối ưu hóa quy trình và nâng cao hiệu quả sản xuất Một số dây chuyền sản xuất hiện nay đã tích hợp hệ thống phân loại sản phẩm để cải thiện chất lượng và năng suất.
Dây chuyền sản xuất chi tiết máy.
Dây chuyền sản xuất hàng tiêu dùng.
Dây chuyền sản xuất linh kiện điện tử.
Phân loại sản phẩm theo kích thước sử dụng cảm biến quang.
Hệ thống cảm biến quang hoạt động dựa trên nguyên lý xếp chồng các cảm biến theo chiều dọc, giúp phân biệt chiều cao của sản phẩm dựa trên số lượng cảm biến được kích hoạt.
Sản phẩm được phân loại dựa trên cảm biến quang: nếu chỉ chạy qua cảm biến thứ nhất mà chưa kích hoạt cảm biến thứ hai, nó sẽ được xếp loại là vật thấp; ngược lại, nếu sản phẩm đi qua cả hai cảm biến cùng lúc, nó sẽ được phân loại là vật cao.
Hệ thống phân biệt mức cao thấp hoạt động hiệu quả hơn khi có nhiều cảm biến quang được lắp đặt Ưu điểm nổi bật của hệ thống này là khả năng làm việc với tốc độ cao, dễ dàng trong việc vận hành, bảo trì và sửa chữa, đồng thời có giá thành tương đối thấp.
Nhược điểm: do sử dụng mức không liên tục nên hệ thống này không thể dùng để đo đạc chiều cao chính xác của sản phẩm.
Hình 2.5 Cảm biến màu sắc
Phân loại sản phẩm theo màu sắc sử dụng cảm biến màu sắc.
Nguyên lý hoạt động của sản phẩm trên dây chuyền là sử dụng cảm biến để nhận biết sản phẩm thông qua hiện tượng khuyếch tán Khi ánh sáng trắng chiếu lên bề mặt sản phẩm, cảm biến sẽ thu nhận ánh sáng khuyếch tán và từ đó thực hiện việc phân loại sản phẩm.
Có nhiều loại cảm biến màu sắc khác nhau trên thị trường, và sự lựa chọn này phụ thuộc vào độ phức tạp của sản phẩm cần phân loại Mỗi hệ thống sẽ có những cảm biến phù hợp để đáp ứng nhu cầu cụ thể của người dùng.
Hình 2.5 minh họa ba loại cảm biến màu sắc: cảm biến đơn giản, cảm biến công nghiệp và cảm biến thông minh Trong hệ thống này, việc nhận biết màu sắc chịu ảnh hưởng lớn từ ánh sáng môi trường Để giảm thiểu sai số, cần phải cách ly ánh sáng bên ngoài khỏi sản phẩm được phân loại.
Phân loại sản phẩm bằng xử lý ảnh:
Hệ thống sử dụng camera để thu nhận và xử lý hình ảnh theo yêu cầu của nhà sản xuất, bao gồm nhận diện sản phẩm, kiểm tra kích thước, màu sắc và hình dáng Với tính linh hoạt cao, hệ thống này có khả năng kiểm tra và phân loại nhiều thông tin khác nhau, phục vụ cho nhiều lĩnh vực công nghiệp Tuy nhiên, độ phức tạp và chi phí đầu tư của hệ thống này tương đối cao.
Hình 2.6 Một số mô hình kiểm tra, phân loại sản phẩm
Hệ thống phân loại sản phẩm dựa trên ứng dụng của việc xử lý ảnh Hệ thống bao gồm ba phần chính:
Bộ phận thu thập thông tin ảnh và ra quyết định bao gồm hệ thống camera cần đủ độ chiếu sáng để đảm bảo kết quả nhanh chóng và chính xác Khi sản phẩm đi qua camera, hình ảnh của sản phẩm sẽ được ghi lại và gửi về phần mềm nhận dạng và phân loại, nơi sẽ đối chiếu với dữ liệu ảnh đã được nạp sẵn Phần mềm này sẽ xử lý thông tin và xác nhận loại sản phẩm cũng như chất lượng của nó.
Bộ phận xử lý tín hiệu hồi đáp đóng vai trò quan trọng trong việc điều khiển và giao tiếp giữa người và máy, bao gồm các nút bấm trên màn hình và các phím điều khiển.
Các phương pháp đọc mã barcode
2.2.1 Quét mã qua điện thoại di động
Hiện nay, khi mua sắm, người tiêu dùng có thể dễ dàng kiểm tra thông tin sản phẩm nhờ vào ứng dụng đọc mã vạch được cài sẵn trên hầu hết các điện thoại thông minh.
Phương pháp này rất hữu ích và linh hoạt vì hầu hết mọi người đều có điện thoại thông minh, cho phép người dùng kiểm tra sản phẩm mọi lúc, mọi nơi Tuy nhiên, đối với số lượng lớn sản phẩm cần kiểm tra, phương pháp này vẫn gặp nhiều hạn chế về hiệu quả sử dụng.
Hình 2.7 Quét mã vạch qua điện thoại
2.2.2 Sử dụng máy quét mã vạch Để đọc được các ký hiệu mã vạch người ta dùng một loại thiết bị gọi là máy quét mã vạch (barcode scanner), thực chất chính là một loại đầu đọc quang học dùng chùm tia sáng hoặc tia laser Khi nhìn vào một ký hiệu mã vạch trên một món hàng, có khi ta thấy một dãy số nằm ngay bên dưới ký hiệu mã vạch đó nhưng cũng có khi không có gì cả Dãy số này chính là mã số mà ký hiệu mã vạch đã mã hoá Vấn đề có mã số hay không có mã số là do phần mềm in mã vạch tạo ra giúp cho con người có thể nhận dạng được bằng mắt thường, nó chỉ quan trọng đối với con người chứ không quan trọng đối với máy vì máy không hiểu được các con số này mà chỉ có thể đọc được chính bản thân các ký hiệu mã vạch Do đó, để máy quét có thể đọc được mã vạch tốt thì khi in ra, ký hiệu mã vạch phải rõ ràng, không mất nét, các vạch phải thẳng đứng không biến dạng Mã vạch sau khi quét sẽ được giải mã bằng một phần mềm để cho ra mã số ban đầu Tùy theo công nghệ đang dùng và tùy theo loại máy quét, máy đọc mà phần mềm giải mã có thể là một phần mềm dưới dạng Firmware nằm ngay trong máy quét và có thể được hiển thị bằng các file văn bản thông thường như Notepad, Wordpad, hay là một phần mềm chuyên dụng kèm theo thiết bị hoặc do người sử dụng viết chương trình ứng dụng.
Máy quét mã vạch chuyên dụng vượt trội hơn so với điện thoại trong việc kiểm tra sản phẩm, nhưng chỉ hiệu quả cho số lượng từ vài đến hàng chục sản phẩm tại quầy hàng hoặc siêu thị Đối với hàng trăm hoặc hàng nghìn sản phẩm, phương pháp này vẫn chưa thực sự tối ưu.
Hình 2.8 Máy quét mã vạch
2.2.3 Ứng dụng xử lý ảnh
Hệ thống sử dụng camera để thu nhận hình ảnh mã vạch, sau đó chuyển dữ liệu vào phần mềm xử lý để cho ra kết quả Hệ thống này có khả năng đọc mã vạch sản phẩm một cách linh hoạt, cho phép kiểm tra và phân loại nhiều thông tin khác nhau, phù hợp với nhiều lĩnh vực công nghiệp Tuy nhiên, độ phức tạp và chi phí cao là những nhược điểm cần lưu ý.
Hệ thống đọc mã sản phẩm dựa trên ứng dụng của việc xử lý ảnh Hệ thống bao gồm ba phần chính:
Bộ phận thu thập thông tin ảnh là một hệ thống camera cần đảm bảo độ chiếu sáng tối ưu để xử lý và ra quyết định một cách nhanh chóng và chính xác.
Khi sản phẩm được quét qua camera, hệ thống sẽ chụp ảnh và gửi thông tin đến phần mềm nhận dạng Phần mềm này sẽ đối chiếu với cơ sở dữ liệu hình ảnh đã được lưu trữ để xác định mã sản phẩm Quá trình này giúp xác nhận và nhận diện chính xác sản phẩm.
Hình 2.9 Ứng dụng xử lý ảnh đọc barcode tại Lazada
Bộ phận xử lý tín hiệu hồi đáp đóng vai trò quan trọng trong việc điều khiển và giao tiếp giữa người và máy, bao gồm các nút bấm trên màn hình cùng với các phím điều khiển.
Thứ ba là hệ thống cơ khí phù hợp với mỗi nhu cầu riêng.
Một số ưu điểm của ứng dụng xử lý ảnh trong việc phân loại sản phẩm so với một số ứng dụng khác có thể ra như sau:
Linh hoạt trong việc thay đổi mẫu mã sản phẩm phân loại.
Có khả năng phân loại được nhiều loại sản phẩm khác nhau.
Phân loại được những sản phẩm phức tạp mà các phương pháp thông thường không thể phân loại được.
Bên cạnh đó ứng dụng cũng có một số nhược điểm:
Hệ thống có giá thành cao, phù hợp với dây chuyền sản xuất các sản phẩm phức tạp mà các công nghệ thông thường không áp dụng được.
Đòi hỏi đội ngũ kỹ sư bảo dưỡng có kiến thức cơ bản về xử lý ảnh.
Tại Việt Nam, hai công ty lớn trong lĩnh vực chuyển giao hàng hóa, Tổng cục Bưu điện Việt Nam (VNPost) và Lazada Việt Nam, đã áp dụng hệ thống chuyển phát hiện đại.
Trung tâm VCKV khu vực phía Nam có diện tích sàn khai thác 15.200m2, được đầu tư đồng bộ với dây chuyền khai thác chia chọn tự động có công suất 18.000 bưu gửi/giờ Ngoài ra, trung tâm còn được trang bị các công cụ và dụng cụ tối ưu cho hoạt động sản xuất như xe lồng, xe nâng và các thiết bị khác Bưu điện Việt Nam cũng đã lắp đặt hệ thống camera giám sát và các thiết bị phục vụ điều hành sản xuất, nhằm đảm bảo an toàn và an ninh cho quá trình sản xuất và công tác chia chọn, lưu thoát sản phẩm.
Hình 2.10 Hệ thống phân loại mã vacgj tại VNPost
Theo Lazada, hệ thống phân loại hàng hóa tự động đầu tiên của họ tại Thành phố
Hồ Chí Minh bắt đầu hoạt động vào tháng 11 năm 2017, với công suất phân loại tăng từ 3 đến 5 lần Tỉ lệ sai sót trong quá trình phân loại giảm gần như bằng 0, góp phần quan trọng vào thành công của Cách Mạng Mua Sắm – Mưa Sale Băng.
Năm 2018, Lazada đã đầu tư vào hệ thống phân loại tự động thứ hai tại Hà Nội, với quy mô lớn gấp đôi trung tâm đầu tiên ở Thành Phố Hồ Chí Minh Hệ thống mới này có công suất lên tới 10.000 sản phẩm/giờ, nhằm đáp ứng nhu cầu hàng hóa của Hà Nội trong vòng 2 năm tới Sau khi hoàn thành giai đoạn này, LEL Express sẽ tiến hành giai đoạn thứ hai của phân loại tự động.
Hệ thống băng chuyền trước đây chỉ hoạt động với tốc độ 10 m/phút, gây mất thời gian và mệt mỏi cho nhân viên Tuy nhiên, sau khi triển khai hệ thống phân loại tự động bằng robot, tốc độ băng chuyền đã tăng lên 100 m/phút, giúp quá trình phân loại hàng hóa trở nên tinh gọn và chính xác hơn Nhân viên giờ chỉ cần sắp xếp hàng hóa vào thùng, giảm thiểu nhầm lẫn và hàng hóa bị hư hỏng Đại diện Lazada cho biết chi phí xây dựng trung tâm phân loại hàng hóa tự động này khoảng vài triệu đô la và mất 4 tháng để hoàn thành Hiện tại, trung tâm tại Hà Nội đang hoạt động ở mức 40% công suất.
Hệ thống phân loại hàng hóa tự động mới của Lazada tại Hà Nội hoạt động 24/24, tích hợp công nghệ đọc mã vạch thông minh để nhận diện đơn hàng Hệ thống sử dụng robot để tự động phân loại theo kích thước và địa chỉ, đồng thời chia hàng hóa về từng khu vực giao hàng khác nhau Ngoài ra, hệ thống cũng phân loại hàng cho các nhà cung cấp dịch vụ logistics bên thứ ba (3PLs) như DHL và VNPost, đối tác của LEL.
Hệ thống mới giúp cải thiện sự bố trí nhân sự, thay thế quy trình thủ công trước đây bằng việc sử dụng robot để giải quyết triệt để công đoạn phân loại hàng hóa khó khăn Nhờ đó, mỗi ca làm việc chỉ cần khoảng 100 nhân viên.
Lựa chọn thiết bị
2.3.1 Kiểm tra, xác định nguồn gốc sản phẩm
Hình 2.11 Camera Basler ac1300 30gm - 1.3MP
Camera Basler acA1300-30gm GigE với cảm biến Sony ICX445 CCD cung cấp
30 khung hình / giây ở độ phân giải 1,3 MP Vì là ứng dụng xử lý tốc độ cao nên camera sẽ là loại global shuter.
Bảng 2.1 Thông số kĩ thuật camera Basler ac1300 30gm - 1.3MP:
Màn trập Màn trập toàn cầu Định dạng cảm biến 1/3
Kích thước cảm biến 4,9 mm x 3,6 mm Độ phân giải (HxV) 1296 pixel x 966 pixel Độ phân giải 1,3 MP
Kích thước pixel (HxV) 3.75 x 3.75 micromets
Tỉ lệ khung hình 30 fps
Hình 2.12 Kích thước camera Basler ac1300 30gm - 1.3MP
2.3.2 Kiểm tra, xác định nguồn gốc sản phẩm Ống kính Basler Premium có ngàm C, tiêu cự cố định 16,0 mm, cài đặt F-stop từ F2.0 - F22 và độ phân giải 5 megapixel. Ống kính Basler Premium có độ phân giải cao phù hợp cho tất cả các ứng dụng thị giác máy Được thiết kế với sự hợp tác của Fujinon, các ống kính này hoàn toàn phù hợp với tất cả các máy ảnh Basler có kích thước cảm biến nhỏ hơn 1/2 " như Basler ace
Ống kính Basler C125-1620-5M-P f16mm thuộc dòng sản phẩm cao cấp, mang đến chất lượng hình ảnh xuất sắc với độ phân giải cao, độ biến dạng thấp và tối thiểu họa tiết Sản phẩm này lý tưởng cho các máy ảnh có độ phân giải rất cao, phục vụ cho việc phân tích các cấu trúc nhỏ nhất.
Bảng 2.2 Thông số kỹ thuật Basler Lens C125-1620-5M-P f16mm - Lens
Mống mắt F2.0 – F22.0 Định dạng cảm biến 1/2,5”
Khoảng cách làm việc nhỏ nhất 200mm
2.3.3 Cảm biến khoảng cách omron E3F-DS30B4
Cảm biến khoảng cách Omron E3F-DS30B4 (PNP) là thiết bị hồng ngoại chuyên dụng để phát hiện vật cản trong khoảng cách từ 0 đến 30 cm Với khả năng sử dụng tia hồng ngoại, cảm biến này mang lại độ phản hồi nhanh và độ chính xác cao, giúp tối ưu hóa quy trình phát hiện vật cản hiệu quả.
Hình 2.14 Cảm biến Khoảng Cách Omron E3F-DS30B4
- Có led hiển thị ngõ ra màu đỏ
- Có thể điều chỉnh khoảng cách qua biến trở
- Chất liệu: Nhựa cứng cao cấp
- Màu sắc: sự hài hòa giữa đen và vàng
Hướng Dẫn Kết Nối Cảm Biến Khoảng Cách E3F-DS30B4
- Dây Mầu Xanh Dương: GND
- Dây Mầu Đen: Tín hiệu PNP thường mở Ứng Dụng Của Cảm Biến Khoảng Cách 30Cm Omron
- Hệ thống tự động hóa
- Hệ thống an ninh chống trộm, …
Encoder LPD3806-600BM 600 Xung 2 pha AB hoạt động với điện áp từ 5-24V, sử dụng ngõ ra NPN cực thu để hở Với thiết kế nhỏ gọn và trọng lượng nhẹ, thiết bị này dễ dàng cài đặt và mang lại lợi thế về chi phí Nó được ứng dụng rộng rãi trong các lĩnh vực như đo tốc độ quay, góc, gia tốc và chiều dài.
Hình 2.15 Encoder Roptary LPD-3806-600BM-G5-24C Lưu ý: Nếu sử dụng nguồn 24VDC để cấp nên dùng thêm điện trở 47~100 Ohm.
- Điện áp hoạt động: DC5-24V
- Tốc độ cơ khí tối đa 6000 vòng / phút
- Tần số đáp ứng điện 20K / giây
- Kích thước: Encoder kích thước thân: φ38mm; trục φ6 × 13mm; trục nền: Cao 5mm, φ20mm; cố định lỗ cho: vít M3
- Ba lỗ gắn trên vòng tròn 30, và ba lỗ gắn khác trên vòng tròn 28
- Dây điện: Xanh lục = Pha A, trắng = pha B, màu đỏ = VCC, đen = GND.
- Chú ý: có thể phải gắn điện trở kéo lên 4k7 nếu như không nhận encoder
Thanh nhôm định hình công nghiệp là sản phẩm nhôm đã được xử lý để tối ưu hóa các đặc tính vật lý, phục vụ cho nhu cầu của nhà thiết kế, kỹ sư và nhà sản xuất Sự ứng dụng của nhôm định hình ngày càng mở rộng trong nhiều ngành công nghiệp.
Nhôm định hình không chỉ thiết kế được nhiều kiểu dáng mà còn mang những ưu điểm vượt trội so với những vật liệu khác có trong tự nhiên.
Sản phẩm từ nhôm định hình mang đến khả năng xử lý không gian tinh tế và sáng tạo, tạo ra những kiểu trang trí hiện đại và ấn tượng vượt trội so với các vật liệu khác Thanh nhôm trong xây dựng có độ bền cao, chịu được sức ép gió mà không bị cong vênh, co ngót, oxi hóa hay han gỉ theo thời gian, đặc biệt là trong điều kiện khí hậu khắc nghiệt hoặc vùng biển mặn.
Cửa nhôm và vách nhôm kính lớn của R.MAX được thiết kế với profile nhôm có cầu cách nhiệt, kết hợp với kính dán 2 lớp và hệ gioăng EPDM, mang lại khả năng cách âm vượt trội Đặc biệt, profile nhôm có cầu cách nhiệt giúp nâng cao hiệu quả cách âm, tạo không gian yên tĩnh và thoải mái cho người sử dụng.
Các thanh profile nhôm được thiết kế hợp lý với khoang rỗng và gân tăng cứng, cùng với độ dày nhôm tối ưu, giúp tăng cường khả năng chịu lực Cấu trúc kỹ thuật của các rãnh và vách trong thanh nhôm được tính toán cẩn thận, tạo ra hiệu ứng cách âm và cách nhiệt hiệu quả Đặc biệt, hệ thống sản phẩm có cầu cách nhiệt với nhiều gân tăng cứng và khoang rỗng hơn, mang lại khả năng chịu lực vượt trội.
Vật liệu nhôm nhẹ, bền và không bị rỉ sét, giúp giảm tải trọng cho công trình so với các loại vật liệu khác Thiết kế khoang rỗng và sống gia cường hợp lý của profile nhôm đảm bảo khả năng chịu lực cao, an toàn trước tác động của gió, bão và động đất, mang lại giải pháp an toàn tối ưu cho công trình.
Tiết kiệm điện năng trong các toà nhà cao tầng là rất quan trọng, đặc biệt khi có nhiều diện tích vách tiếp xúc với ánh nắng mặt trời Chi phí cho hệ thống điều hoà và thông gió để duy trì điều kiện không khí ổn định có thể rất cao Sử dụng cửa nhôm và vách nhôm kính lớn với kính phản quang, cách nhiệt và kính an toàn là giải pháp hiệu quả giúp giảm thiểu chi phí điện năng.
Arduino R3 ATmega 328P là một bo mạch được thiết kế với vi điều khiển AVR ATmega 328P làm bộ vi xử lý trung tâm Bo mạch này bao gồm nhiều thành phần chính, tạo nên cấu trúc hoàn chỉnh và hiệu quả cho các ứng dụng điện tử.
Cổng USB là giao tiếp quan trọng cho việc upload chương trình từ PC hoặc Laptop lên vi điều khiển, đồng thời cũng đóng vai trò là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính.
Để cung cấp nguồn cho Arduino, bạn có thể sử dụng cổng USB, nhưng trong trường hợp không có máy tính, bạn có thể cấp nguồn từ 9VDC đến 12VDC thông qua jack nguồn.
Có 14 chân vào ra được đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF).
Vi điều khiển AVR là bộ xử lý chính của bo mạch Arduino, với mỗi mẫu Arduino sử dụng các loại chip khác nhau Mạch Arduino này sử dụng chip ATmega 328P.
Điện áp đầu vào giới hạn: 6-20V
Dòng tối đa chân 5V: 500mA.
Dòng tối đa mỗi chân I/O: 30mA.
Số chân Digital I/O: 14 chân (6 chân đầu ra là PWM).
Số chân Analog: 6 chân (độ phân giải 10bit).
Bộ nhớ flash: 32KB với 0.5 KB dùng bởi bootloader.
Tốc độ đồng hồ: 16 MHz
GND (Ground) là điểm nối đất của nguồn điện cung cấp cho kit Khi sử dụng các ứng dụng với nguồn điện riêng biệt hoặc nhiều nguồn khác nhau, cần phải kết nối các chân GND với nhau để đảm bảo hoạt động ổn định và hiệu quả.
- 5V: Đầu ra điện áp 5V, ta phải lưu ý là dòng tối đa cho phép cấp ở pin này là 0.5A.
- 3.3V: Đầu ra điện áp 3.3V Dòng tối đa cho phép cấp ở pin này là 0.05A.
- Vin (Voltage Input): Cấp nguồn ngoài cho kit Khi kết nối, tiến hành nối cực dương của nguồn với pin này và cực âm của nguồn với pin GND.
Đối tượng kiểm tra
Trong đồ án này, tôi sử dụng mã vạch trên hộp ghim kích thước 3x5cm, trọng lượng vừa phải, thuận tiện cho việc gắn vào hệ thống mâm xoay tốc độ cao Mặc dù sản phẩm nhỏ, mã vạch chiếm 1/3 kích thước ảnh chụp và được in rõ nét, đảm bảo chất lượng tốt nhất cho hệ thống chụp ảnh và thu thập dữ liệu.
Hình 2.21 Mã vạch dùng kiểm tra trong đồ án
Mã vạch barcode
Mã vạch là phương thức thể hiện thông tin trên bề mặt sản phẩm mà máy móc có thể đọc được Ban đầu, mã vạch lưu trữ dữ liệu thông qua độ rộng của các vạch song song và khoảng trống giữa chúng Hiện nay, mã vạch còn được in theo các mẫu điểm, hình tròn đồng tâm, hoặc ẩn trong hình ảnh Các thiết bị quét quang học, gọi là máy đọc mã vạch, hoặc phần mềm chuyên biệt có thể quét và đọc mã vạch này.
Mã vạch (Barcode) là phương pháp lưu trữ và truyền tải thông tin thông qua ký hiệu gọi là ký mã vạch Ký mã vạch, hay đơn giản là mã vạch, bao gồm các khoảng trắng và vạch thẳng để biểu diễn chữ cái, ký hiệu và con số Sự thay đổi trong độ rộng của vạch và khoảng trắng giúp truyền tải thông tin dưới dạng mà máy có thể đọc được.
Mã số mã vạch được thu nhận qua máy quét mã vạch, thiết bị này ghi lại hình ảnh mã vạch in trên bề mặt và truyền tải thông tin đến máy tính hoặc thiết bị cần thiết Máy quét thường có nguồn sáng và thấu kính để chiếu sáng mã vạch, sau đó thu ánh sáng phản xạ và chuyển đổi thành tín hiệu điện Nhiều máy quét còn tích hợp mạch điện tử để xử lý tín hiệu, giúp kết nối với máy tính Ý tưởng về mã vạch được phát triển bởi Norman Joseph Woodland và Bernard Silver vào năm 1948 tại Đại học Drexel, xuất phát từ mong muốn tự động hóa quy trình kiểm tra hàng hóa của một công ty thực phẩm Họ ban đầu sử dụng mã Morse để tạo ra các vạch đứng, sau đó chuyển sang dạng mã vạch với các vòng tròn đồng tâm Họ đã nộp đơn xin cấp bằng sáng chế cho cơ quan quản lý sáng chế Mỹ vào năm 1949 và nhận được bằng sáng chế vào ngày 7 tháng 10.
Các loại mã số mã vạch:
Thông tin được mã hóa có nhiều loại khác nhau tùy thuộc vào dung lượng, dạng thức và mục đích sử dụng Một số dạng mã vạch phổ biến trên thị trường hiện nay bao gồm UPC, EAN, Code 39, Interleaved 2of 5, Codabar và Code.
128 Ngoài ra, trong 1 số loại mã vạch người ta còn phát triển làm nhiều Version khác nhau, có mục đích sử dụng khác nhau.
Thí dụ UPC có các version là UPC-A, UPC-B, UPC-C, UPC-D và UPC-E; EAN có các version EAN-8, EAN-13, EAN-14, Code 128 gồm Code 128 Auto, Code 128-
Hình 2.23 Một số loại mã vạch phổ biến
Mã 1D là loại mã vạch tuyến tính phổ biến, bao gồm các sọc đen trắng xen kẽ, với một hàng duy nhất các thanh mã vạch giống như hàng rào Được gọi là "một chiều" vì tất cả dữ liệu được mã hóa theo chiều ngang, việc tăng nội dung dữ liệu chỉ có thể thực hiện bằng cách mở rộng chiều rộng của mã vạch Tuy nhiên, khi vượt quá một kích thước nhất định, mã vạch sẽ trở nên quá rộng, gây khó khăn trong việc quét.
Một số loại mã 1D hiện nay:
UPC, hay mã số sản phẩm toàn cầu, là một loại mã hóa số được ngành công nghiệp thực phẩm áp dụng từ năm 1973 nhằm gán mã số độc nhất cho từng sản phẩm Hệ thống này hoạt động như một "giấy phép số" cho các sản phẩm riêng lẻ, bao gồm hai phần: mã vạch có thể đọc được bằng máy và số mà con người có thể nhận diện Mỗi mã UPC gồm 12 ký số, không chứa ký tự, giúp nhận diện sản phẩm tiêu dùng một cách chính xác.
Ký hiệu UPC bao gồm 12 ký số, trong đó ký số đầu tiên là số 0, được gọi là ký số hệ thống số (number system digit) hay "Family code" Ký số này nằm trong nhóm 7 con số xác định ý nghĩa và loại sản phẩm.
- 5: Coupons: Phiếu lĩnh hàng hóa.
- 4: Dành cho người bán lẽ sử dụng.
- 3: Thuốc và các mặt hàng có liên quan đến y tế.
- 2: Các món hàng nặng tự nhiên như thịt và nông sản.
- 0, 6, 7: Gán cho tất cả các mặt hàng khác như là một phần nhận diện của nhà sản xuất.
Năm ký số thứ 2 trong mã UPC, ví dụ như 12345, đại diện cho mã người bán (Vendor Code), mã doanh nghiệp hoặc mã nhà sản xuất (Manufacturer Code) Tại Hoa Kỳ, mã này được cấp bởi hiệp hội UCC (The Uniform Code Council) và mỗi mã được cấp cho người bán hoặc nhà sản xuất là duy nhất Nhờ vào mã UPC, chỉ cần 5 ký số này là có thể xác định nguồn gốc của hàng hóa khi chúng lưu thông trên thị trường.
Năm ký số kế tiếp là một công cụ quan trọng dành cho người bán, cho phép họ gán mã riêng cho sản phẩm của mình Người bán có thể tự tạo ra 5 ký số này theo ý muốn, nhằm mã hóa và quản lý sản phẩm hiệu quả hơn.
Ký số cuối cùng: Ở đây là số 5, là ký số kiểm tra, xác nhận tính chính xác của tòan bộ số UPC.
UPC được phát triển thành nhiều phiên bản (version) như UPC-A, UPC-B, UPC-
C, UPC-D và UPC-E trong đó UPC-A được coi như phiên bản chuẩn của UPC, các phiên bản còn lại được phát triển theo những yêu cầu đặc biệt của ngành công nghiệp.
Mã UPC vẫn còn đang sử dụng ở Hoa Kỳ và Bắc Mỹ.
Mã EAN (European Article Number) được phát triển bởi 12 quốc gia châu Âu vào năm 1974 và nhanh chóng trở thành tiêu chuẩn quốc tế Năm 1977, EAN trở thành tổ chức quốc tế với tên gọi EAN quốc tế Hiện nay, mã EAN bao gồm hai phiên bản: EAN-8 với 8 chữ số và EAN-13 với 13 chữ số, được sử dụng phổ biến trong thương mại, đặc biệt là cho các sản phẩm tiêu dùng.
Theo ký hiệu EAN-13, có thể phân chia như sau:
- 893: Mã quốc gia Việt Nam
- 604381125: 9 ký số này được phân chia làm 2 cụm: cụm mã nhà sản xuất có thể
4, 5 hoặc 6 ký số tùy theo được cấp, cụm còn lại là mã mặt hàng.
- 7: Mã kiểm tra tính chính xác của tòan bộ số EAN.
EAN có một biến thể khác của nó là JAN (Japaneses Artical Numbering), thực chất là EAN của người Nhật với mã quốc gia là 49.
Mã EAN, phát triển với mã quốc gia, được áp dụng cho sản phẩm lưu thông toàn cầu và được quản lý bởi Tổ chức EAN quốc tế Tại Việt Nam, doanh nghiệp muốn sử dụng mã EAN cho sản phẩm cần trở thành thành viên của Tổ chức Mã Số Mã Vạch Việt Nam (EAN Việt Nam) để được cấp mã số doanh nghiệp.
UPC và EAN là hai loại mã vạch quốc tế chuyên nghiệp, nhưng chúng có hạn chế về dung lượng và chỉ mã hóa được số, không mã hóa được chữ Để giải quyết vấn đề này, mã vạch Code 39 đã được phát triển.
Code 39 được phát triển sau UPC và EAN là ký hiệu chữ và số thông dụng nhất.
Nó không có chiều dài cố định như UPC và EAN do đó có thể lưu trữ nhiều lượng thông tin hơn bên trong nó.
Code 39 là một mã vạch linh hoạt, được ưa chuộng trong lĩnh vực bán lẻ và sản xuất Bộ ký tự của nó bao gồm tất cả các chữ cái hoa, các số từ 0 đến 9 và 7 ký tự đặc biệt khác, giúp tăng cường khả năng nhận diện và quản lý sản phẩm.
Nhiều tổ chức, đặc biệt là Bộ Quốc Phòng Mỹ, đã lựa chọn Code 39 làm chuẩn công nghiệp, trong đó Bộ Quốc Phòng Mỹ sử dụng Code 39 như một bộ mã gọi là LOGMARS.
Phần mềm, thư viện sử dụng
Zxing, viết tắt của "zebra crossing", là một thư viện mã nguồn mở được phát triển bằng Java, hỗ trợ xử lý nhiều định dạng mã vạch 1 chiều và 2 chiều Thư viện này cho phép người dùng sử dụng máy ảnh trên điện thoại di động để chụp và giải mã mã vạch mà không cần kết nối với máy chủ Hiện tại, Zxing hỗ trợ nhiều định dạng mã vạch khác nhau.
Thư viện này được chia làm nhiều phần, các phần sau vẫn đang được hỗ trợ và phát triển thường xuyên:
- core: là phần lõi thư viện giải mã và là phần chính của toàn bộ dự án.
- javase: ứng dụng khách cho J2SE.
- android: ứng dụng khách cho Android.
- androidtest: chương trình demo trên Android.
- android-integration: thư viện hỗ trợ tích hợp Barcode Scanner (bộ quét mã vạch) thông qua Intent cho Android.
- zxingorg: mã nguồn của trang http://zxing.org/w.
- zxing.appspot.com: mã nguồn của trang web tạo mã vạch http://zxing.appspot.com/.
Các mô đun sau được đóng góp và phát triển không thường xuyên:
- javame: ứng dụng khách cho JavaME.
- rim: ứng dụng khách cho RIM/Blackberry.
- iphone: ứng dụng khách cho iPhone (chỉ hỗ trợ mã QR).
- bug: ứng dụng khách cho BugLabs’s BUG.
- symbian: thư viện cho Symbian
Hình 2.31 Quét mã vạch với thư viện zxing
OpenCV là thư viện mã nguồn mở hàng đầu cho thị giác máy tính, xử lý ảnh và máy học, với tính năng tăng tốc GPU cho ứng dụng thời gian thực Được phát hành theo giấy phép BSD, OpenCV hoàn toàn miễn phí cho cả học thuật và thương mại, hỗ trợ nhiều ngôn ngữ lập trình như C++, C, Python, Java và tương thích với các hệ điều hành như Windows, Linux, Mac OS, iOS và Android Thư viện này được tối ưu hóa bằng C/C++, cho phép tận dụng xử lý đa lõi, và đã thu hút hơn 47 nghìn người dùng cùng hơn 6 triệu lượt tải về OpenCV được áp dụng rộng rãi trong nhiều lĩnh vực, từ nghệ thuật tương tác đến khai thác mỏ, bản đồ trên web và công nghệ robot.
OpenCV được ứng dụng rộng rãi trong các ứng dụng bao gồm:
- Kiểm tra và giám sát tự động
- Robot và xe hơi tự lái
- Phân tích hình ảnh y tế
- Tìm kiếm và phục hồi hình ảnh, video
- Phim - cấu trúc 3D chuyển động
- Image/video I/O, xử lý, hiển thị (core, imgproc, highgui)
- Phát hiện vật thể (objdetect, features 2d, nonfree)
- Geometry-based monocular or stereo computer vision (calib3d, stitching, videostab)
- Computational photography (photo, video, superres)
- Machine learning & clustering (ml, flann)
C# (C sharp) là một ngôn ngữ lập trình hiện đại, đơn giản và hướng đối tượng, được phát triển bởi Microsoft vào năm 2000 Ngôn ngữ này được xây dựng dựa trên nền tảng của hai ngôn ngữ nổi bật là C++ và Java.
C# combined with the robust support of the NET Framework makes it easy to create Windows Forms and WPF applications, as well as develop games, web applications, and mobile apps.
Mono là phiên bản cộng đồng của NET, được thiết kế để mang công nghệ này đến với các nền tảng ngoài Windows Nó chủ yếu được phát triển để xây dựng các ứng dụng có giao diện người dùng và được ứng dụng rộng rãi trong các lĩnh vực như trò chơi Unity và phát triển di động với Xamarin.
Đến năm 2013, Microsoft đã chuyển hướng sang phát triển đa nền tảng với NET Core, hiện nay được áp dụng trong các ứng dụng Universal Windows Platform và ASP.NET Core Nhờ đó, C# có khả năng phát triển ứng dụng đa nền tảng trên nhiều hệ điều hành khác nhau như Windows, Linux và MacOS.
Hình 2.33 Ngôn ngữ lập trình C#
C# đã loại bỏ nhiều phức tạp và rối rắm của các ngôn ngữ như Java và C++, bao gồm việc không sử dụng macro, template, đa kế thừa và lớp cơ sở ảo Ngôn ngữ này được xây dựng dựa trên nền tảng của C và C++, nên nếu bạn đã quen thuộc với C, C++ hoặc Java, bạn sẽ nhận thấy C# có nhiều điểm tương đồng về diện mạo, cú pháp, biểu thức, toán tử và các chức năng khác Tuy nhiên, C# đã được cải tiến để trở nên đơn giản hơn.
C# là một ngôn ngữ lập trình hiện đại với nhiều đặc tính nổi bật như xử lý ngoại lệ, thu gom bộ nhớ tự động, kiểu dữ liệu mở rộng và bảo mật mã nguồn Những đặc tính này được kỳ vọng trong một ngôn ngữ hiện đại và C# đáp ứng đầy đủ Đối với những người mới học lập trình, có thể cảm thấy những đặc tính này phức tạp, nhưng đừng lo lắng, bạn sẽ dần hiểu rõ hơn qua các nội dung trong khóa học.
- C# là một ngôn ngữ lập trình thuần hướng đối tượng
Object-oriented programming (OOP) is a programming paradigm characterized by four key properties: abstraction, encapsulation, polymorphism, and inheritance C# fully supports all of these essential OOP features, making it a powerful language for developers.
- C# là một ngôn ngữ ít từ khóa
C# là một ngôn ngữ lập trình với số lượng từ khóa hạn chế, chủ yếu dùng để mô tả thông tin Nhiều người có thể nghĩ rằng ngôn ngữ với nhiều từ khóa sẽ mạnh mẽ hơn, nhưng điều này không đúng với C# Ngôn ngữ này đủ mạnh để thực hiện mọi loại nhiệm vụ lập trình.
.NET Framework, được Microsoft ra mắt vào năm 2002, chỉ hoạt động trên hệ điều hành Windows và hỗ trợ các nền tảng ứng dụng như WPF, WinForms và ASP.NET (1-4) Để đọc mã barcode bằng thư viện OpenCV, người dùng có thể lựa chọn các ngôn ngữ lập trình như NET C#, VB, IronPython, Java và C++.
Trong đồ án này ngôn ngữ lập trình được sử dụng là NET C#, viết trên phần mềmVisual Studio.
Hình 2.35 Giao diện của phần mềm Lensensor
LensSensor là ứng dụng thiết yếu cho các nhà tích hợp thị giác máy, cung cấp công cụ linh hoạt để hỗ trợ đặc điểm kỹ thuật ống kính, máy ảnh và giao diện máy ảnh Ứng dụng này bao gồm máy tính ống kính linh hoạt để xác định hình học và tiêu cự cần thiết, máy tính độ phân giải giúp xác định độ phân giải thực đạt được với cảm biến cụ thể, và máy tính giao diện để xác định các giao diện máy ảnh tương thích với yêu cầu về tốc độ dữ liệu và độ dài cáp Ngoài ra, LensSensor còn cung cấp truy cập dễ dàng đến các sản phẩm và tin tức mới nhất từ STEMMER IMAGING Lưu ý rằng ứng dụng này không phù hợp với giao diện máy tính bảng.
Arduino IDE là một phần mềm mã nguồn mở miễn phí, cho phép người dùng tải về và sử dụng mà không phải trả phí bản quyền Người dùng có quyền tự do sửa đổi, cải tiến và phát triển phần mềm theo các nguyên tắc mà nhà phát hành quy định, điều này khác biệt hoàn toàn với các phần mềm nguồn đóng mà họ không có quyền can thiệp.
Mặc dù là phần mềm mã nguồn mở, Arduino IDE sở hữu khả năng bảo mật thông tin ấn tượng Khi phát hiện lỗi, nhà phát hành nhanh chóng khắc phục và cập nhật, giúp bảo vệ thông tin người dùng khỏi việc mất mát hoặc rò rỉ ra bên ngoài.
Hình 2.36 Phần mềm Arduino IDE.
Arduino nổi bật với thiết kế bo mạch nhỏ gọn và nhiều tính năng hữu ích, nhưng sức mạnh thực sự của nó đến từ phần mềm Môi trường lập trình thân thiện cùng ngôn ngữ lập trình dựa trên C/C++ giúp người dùng dễ dàng tiếp cận Ngoài ra, Arduino còn hỗ trợ nhiều thư viện phong phú như EEPROM, Firmata, GSM, servo, TFT, Wifi, và sự đa dạng này ngày càng tăng lên nhờ sự đóng góp của cộng đồng toàn cầu.
THIẾT KẾ VÀ THI CÔNG MẠCH
Yêu cầu của đề tài
Với đề tài ứng dụng xử lý ảnh đọc mã tốc độ cao này, yêu cầu mô hình hệ thống cần có:
- Giao diện điều khiển hệ thống trực quan, dễ thao tác
- Tốc độ đọc dự kiến 5 – 10 sản phẩm/ giây
- Ứng dụng thuật toán xử lý ảnh đọc barcode
- Chương trình điều khiển cho mạch điều khiển hoạt động ổn định
Tính toán, lựa chọn khoảng cách chụp ảnh cho hệ thống
Hình 3.1 Khoảng cách giữa camera và vật đo qua phần mềm lenSensor
Sử dụng phần mềm lenSensor của Stemmer giúp tính toán và lựa chọn khoảng cách lắp đặt camera hợp lý, từ đó thu được hình ảnh chất lượng cao với độ sáng và độ nét tối ưu.
Các thông số đầu vào:
- Sensor Size: 1/3” (theo thông số kỹ thuật của camera Basler ac1300 30gm - 1.3MP)
- Kích thước hộp ghim bấm giấy: 3 x 5 cm
- Focal length: 16 mm (theo thông số kỹ thuật của Basler Lens C125-1620-5M-
Vậy khoảng cách giữa camera, lens và hộp ghim bấm giấy trong mô hình là 23,82 cm.
Lập trình Arduino
3.3.1 Kết nối mạch điều khiển
Hình 3.2 Bảng kết nối mạch của mô hình hệ thống
Khối điều khiển Arduino đảm nhận vai trò quan trọng trong việc quản lý toàn bộ hệ thống, bao gồm điều chỉnh tốc độ quay của encoder, nhận tín hiệu từ cảm biến và gửi thông tin đến màn hình hiển thị LCD.
- Khối hiển thị: Nhận kết quả thông báo từ hệ thống điều khiển và hiển thị ra màn hình.
- Khối encoder: Chức năng chính là thực hiện quay, đảm bảo thu được tốc độ mong muốn cho hệ thống đọc barcode.
- Khối nút nhấn: thực hiện khởi động, dừng hoặc reset lại chương trình của hệ thống.
3.3.3 Lập trình và upload chương trình cho Arduino
Hình 3.2 Upload chương trình cho Arduino.
Mở phần mềm Arduino, trong khung soạn thảo tiến hành soạn thảo chương trình.
Chọn Ctrl + U để upload chương trình vào Arduino.
Lưu đồ thuật toán
3.4.1 Lưu đồ thuật toán điều khiển thu ảnh
Hình 3.3 Lưu đồ thuật toán điều khiển thu ảnh bằng cơ chế hardtrigger
Trong đồ án nghiên cứu này, việc thực hiện thu ảnh được thực hiện dựa trên cơ chế hardtrigger.
Bước 1: Khởi tạo biến đếm sản phẩm, xung
Bước 2: Đo tốc độ vòng quay dựa vào encoder và lưu vào biến đếm xung sản phẩm countPulse.
Bước 3: Kiểm tra biến đếm và xung
Bước 4: Nếu bước 3 đúng thì gửi tín hiệu trigger về camera, nếu sai quay lại bước 2.
Bước 5: Kết thúc chương trình
3.4.2 Lưu đồ thuật toán xử lý ảnh
Igray: Biến chứa ảnh đầu vào ở dạng gray
ProductID: Biến chứa mã sản phẩm
Sau khi thu được ảnh, ta sẽ tiến hành xử lý ảnh thu được bằng xử lý ảnh và thực hiện đọc mã barcode sản phẩm.
Bước 1: Khởi tạo biến chứa ảnh đầu vào ở dạng Gray
Bước 2: Đối chiếu, kiểm tra biến ảnh đầu vào đã đúng ở dạng Gray chưa
Bước 3: Nếu bước 2 đúng, thực hiện tìm kiếm đường biên vùng sản phẩm, nếu sai quay lại bước khởi tạo ban đầu
Để thực hiện cắt vùng ROI của ảnh, bạn cần dựa vào đường biên đã được tìm kiếm Sau đó, đọc mã vạch trong vùng ROI và lưu vào biến ProductID Cuối cùng, kiểm tra biến ProductID để đảm bảo mã sản phẩm đã được lưu trữ chính xác.
Bước 7: Nếu bước 6 đúng, thực hiện hiển thị mã barcode của sản phẩm, nếu sai thì đưa ra cảnh báo lỗi do sản phẩm không chứa mã.
Bước 8: Kết thúc chương trình xử lý ảnh, đọc mã
Hình 3.4 Lưu đồ thuật toán xử lý ảnh