Đăng ký Đăng nhập
Trang chủ Kỹ thuật - Công nghệ Kỹ thuật viễn thông Mô phỏng nhận diện mã vạch trên sản phẩm (có code)...

Tài liệu Mô phỏng nhận diện mã vạch trên sản phẩm (có code)

.DOCX
46
145
114

Mô tả:

DANH MỤC CÁC HÌNH VẼ V DANH MỤC CÁC BẢNG BIỂU VI DANH MỤC CÁC TỪ VIẾT TẮT VII CHƯƠNG 1. ẢNH SỐ 1 1.1 ẢNH SỐ LÀ GÌ? 1 1.2 XỬ LÝ ẢNH VỚI MATLAB 3 1.3 CÁC HÀM XỬ LÝ ẢNH TRONG MATLAB 6 CHƯƠNG 2. MÃ VẠCH TRÊN SẢN PHẨM 15 2.1 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN MÃ VẠCH 15 2.2 MÃ VẠCH LÀ GÌ? 16 2.2.1 Phân loại mã vạch 16 2.2.2 Cấu tạo của mã vạch 19 CHƯƠNG 3. NỘI DUNG CỦA ĐỀ TÀI 21 3.1 MỤC ĐÍCH 21 3.2 SƠ ĐỒ KHỐI 21 3.3 SƠ ĐỒ GIẢI THUẬT 22 CHƯƠNG 4. KẾT QUẢ MÔ PHỎNG 23 4.1 TẠO GIAO DIỆN GUI 23 4.2 MÔ PHỎNG 24 CHƯƠNG 5. KẾT LUẬN 26 5.1 KẾT LUẬN 26 5.2 HƯỚNG PHÁT TRIỂN 26 TÀI LIỆU THAM KHẢO 27 PHỤ LỤC A 28 DANH MỤC CÁC HÌNH VẼ
MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM MỤC LỤC DANH MỤC CÁC HÌNH VẼ..........................................................................................V DANH MỤC CÁC BẢNG BIỂU....................................................................................VI DANH MỤC CÁC TỪ VIẾT TẮT...............................................................................VII CHƯƠNG 1. ẢNH SỐ.......................................................................................................1 1.1 ẢNH SỐ LÀ GÌ?...........................................................................................................1 1.2 XỬ LÝ ẢNH VỚI MATLAB...........................................................................................3 1.3 CÁC HÀM XỬ LÝ ẢNH TRONG MATLAB......................................................................6 CHƯƠNG 2. MÃ VẠCH TRÊN SẢN PHẨM..............................................................15 2.1 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN MÃ VẠCH.....................................................15 2.2 MÃ VẠCH LÀ GÌ?......................................................................................................16 2.2.1 Phân loại mã vạch............................................................................................16 2.2.2 Cấu tạo của mã vạch........................................................................................19 CHƯƠNG 3. NỘI DUNG CỦA ĐỀ TÀI.......................................................................21 3.1 MỤC ĐÍCH.................................................................................................................21 3.2 SƠ ĐỒ KHỐI..............................................................................................................21 3.3 SƠ ĐỒ GIẢI THUẬT....................................................................................................22 CHƯƠNG 4. KẾT QUẢ MÔ PHỎNG..........................................................................23 4.1 TẠO GIAO DIỆN GUI.................................................................................................23 4.2 MÔ PHỎNG................................................................................................................24 CHƯƠNG 5. KẾT LUẬN...............................................................................................26 5.1 KẾT LUẬN.................................................................................................................26 5.2 HƯỚNG PHÁT TRIỂN.................................................................................................26 TÀI LIỆU THAM KHẢO...............................................................................................27 PHỤ LỤC A 28 DANH MỤC CÁC HÌNH VẼ HÌNH 1-1: CÁC GIAI ĐOẠN XỬ LÝ ẢNH...................................................................2 HÌNH 1-2: CÁC GIAI ĐOẠN XỬ LÝ ẢNH TRONG MATLAB................................3 HÌNH 2-1: VÍ DỤ MÃ VẠCH UPC...............................................................................17 HÌNH 2-2: MÃ VẠCH EAN-13......................................................................................18 HÌNH 2-3: QUY TẮC MÃ VẠCH CỦA SỐ 0 - 9.........................................................20 HÌNH 3-1: SƠ ĐỒ KHỐI................................................................................................21 HÌNH 3-2: SƠ ĐỒ GIẢI THUẬT...................................................................................22 HÌNH 4-1: GIAO DIỆN GUI BAN ĐẦU.......................................................................23 HÌNH 4-2: GIAO DIỆN GUI KHI CHẠY....................................................................23 HÌNH 4-3: HÌNH ẢNH ĐƯỢC ĐƯA VÀO TỪ DATA BASE....................................24 HÌNH 4-4: HÌNH ẢNH QUA BỘ XỬ LÝ.....................................................................24 HÌNH 4-5: KẾT QUẢ XUẤT RA MÀN HÌNH.............................................................24 HÌNH 4-6: HÌNH ẢNH ĐƯỢC ĐƯA VÀO TỪ CAMERA MÁY TÍNH...................25 HÌNH 4-7: KẾT QUẢ XUẤT RA MÀ HÌNH...............................................................25 DANH MỤC CÁC BẢNG BI BẢNG 2-1: GIÁ TRỊ SỐ 0-9 THEO BỘ MÃ A,B,C.....................................................18 BẢNG 2-2: VẠCH BIÊN VÀ VẠCH GIỮA.................................................................19 Y DANH MỤC CÁC TỪ VIẾT TẮT CCIR CGA CMYK EAN RGB UPC Campaign for Comprehensive Immigration Reform Color Graphic Adaptor) Cyan – Magenta – Yellow - Key European Article Number Hệ màu Red – Green - Blue Universal Product Code Trang 1/41 CHƯƠNG 1. ẢNH SỐ 1.1Ảnh số là gì? Ảnh số là t̀ ̣âp ḥp h̃u ḥn các điiểm ảnh v́i ḿc xaám ph̀ ḥp d̀ng điể m tả ảnh gân v́i ảnh th̀ ̣ât. Số điiểm ảnh xaác điịnh đi ̣â ph̀n giải của ảnh, ảnh có đi ̣â ph̀n giải càng cao thì càng thể hiê ̣ân rõ net các điắ ̣âc điiểm của tấm hình, càng làm cho tấm ảnh trở nên tḥc và săc net hơn. a. Điểm ảnh (Picture Element) Điểm ảnh (Pixael) là m ̣ât phân tử của ảnh số ṭi toa đi ̣â (xa, y) v́i đi ̣â xaám hoắ ̣âc màu nhất điịnh. Kích thớc và khoảng cách gĩa các điiểm ảnh đió điợc chon thích ḥp sao cho măt ngơời cảm nh̀ ̣ân ṣ liên tuc vê kh ng gian và ḿc xaám ( hoắ ̣âc màu) của ảnh số gân nhơ ảnh th̀ ̣ât. Môi phân tử trong ma tr̀ ̣ân điợc goi là m ̣ât phân tử ảnh. b. Ḿc xaám của ảnh Ḿc xaám là kêt quả của ṣ biên điổi tơơng ́ng 1 giá trị đi ̣â sáng của 1 điiểm ảnh v́i 1 gía trị nguyên dơơng. Th ng thơờng nó xaác điịnh trong [0, 255] t̀y thu ̣âc vào giá trị mà môi điiểm ảnh điợc biểu diên. Các thang giá trị ḿc xaám th ng thơờng: 16, 32, 64, 12ơ, 256. Ḿc 256 là ḿc phổ dung vì từ kỳ thù ̣ât máy tính d̀ng 1 byte (ơ bit) điể biểu diên ḿc xaám. Ḿc xaám d̀ng m ̣ât byte biểu diên : 2ơ = 256 ḿc, t́c là từ 0 điên 255. c. Độ ph̀n giải của ảnh Đ ̣â ph̀n giải của ảnh (Resolution) của ảnh là m̀ ̣ât đi ̣â điiểm ảnh điợc ấn điịnh trên m ̣ât ảnh số điợc hiển thị. Khoảng cách gĩa các điiểm ảnh phải điợc chon sao cho măt ngơời vân thấy điợc ṣ liên tuc của ảnh. Viê ̣âc ḷa chon khoảng cách thích ḥp ṭo nên m ̣ât m̀ ̣ât đi ̣â ph̀n bố, đió chính là đi ̣â ph̀n giải và điợc ph̀n bố theeo truc xa và y trong kh ng gian 2 chiêu. Ví du: Đ ̣â ph̀n giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là m ̣ât lới điiểm theo chiêu ngang màn hình: 320 điiểm chiêu docc200 điiểm ảnh (320c200). Rõ ràng c̀ng màn hình CGA 12” ta nh̀ ̣ân thấy mịn hơn màn hình CGA 17”” MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 2/41 đi ̣â ph̀n giải 320c200. Vì c̀ng m ̣ât m̀ ̣ât đi ̣â nhơng diê ̣ân tích mà hình r ̣âng hơn thì đi ̣â mịn ( đi ̣â liên tuc của các điiểm) kem hơn. d. Các cách ph̀n lọi ảnh  Ảnh nhị ph̀n: Giá trị xaám của tất cả các điiểm ảnh chi nh̀ ̣ân giá trị 1 hoắ ̣âc 0 nhơ vậy môi điiểm ảnh trong ảnh nhị ph̀n điợc biểu diên bởi 1 bit. Ảnh xaám: Giá trị xaám nằm trong [0, 255] nhơ vậy môi điiểm ảnh trong ảnh nhị ph̀n điợc biểu diên bởi 1 byte.  Ảnh màu: - Hệ màu RGB: Một pixael điợc biểu diên bằng 3 giá trị (R, G, B) trong đió R, G, B là một giá trị xaám và điợc biểu biểu diên bằng 1 byte. Khi đió ta có một ảnh 24 bits. P(xa, y) = (R, G, B) – Hệ màu CMY: là phân b̀ của hệ màu RGB (C, M, Y) = (1, 1, 1) – (R, G, B) Hay C+R=M+G=Y+B=1 => Hệ màu này thơờng điợc d̀ng trong máy in. – Hệ màu CMYK trong đió K là điộ điậm nḥt của màu K= min(C, M, Y) P(xa, y) = (C-K, M-K, V-K, K). e. Các giai điọn xaử lý ảnh. Hình 1-1: Các giai đoạn xử lý ảnh MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 3/41 1.2 Xử lý ảnh v́i Matlab a. Xử lý ảnh Đâu tiên, hình ảnh từ thê gíi bên ngoài điợc các thiêt bị thu nhận, ghi hình ảnh nhơ camera, máy chup hình, máy quet,.. Trớc đìy, ảnh thu qua Camera là các ảnh tơơng ṭ (lọi Camera ống kiểu CCIR). Giờ đìy, v́i ṣ phát triển của c ng nghệ, ảnh màu hoặc đien trăng điợc lấy ra từ Camera, sau đió nó điợc chuyển tṛc tiêp thành ảnh số ṭo thuận ḷi cho xaử lý tiêp theo. Ngoài ra, ảnh cũng có thể tiêp nhận từ vệ tinh, b. Các giai điọn xaử lý ảnh Hình 1-2: Các giai đoạn xử lý ảnh trong matlab - Thu nhận ảnh (Image Acquisition): Ảnh điợc thu từ các nguồn nhơ máy ảnh, máy quay phim, máy quet, ảnh vệ tinh…Ảnh này có thể là ảnh màu hoặc trăng đien, chất lợng ảnh phu thuộc vào thiêt bị thu nhận hình ảnh. - Tiên xaử lý (Image Processing): Sau khi ảnh điợc thu vào điợc xaử lý điể chất lợng ảnh tốt lên qua việc điiêu chinh điộ chiêu sáng, hiệu chinh giá trị điộ sáng gĩa nên và điối tợng, giảm nhỏ thành phân nhiêu, điiêu chinh bo loc và khuêch địi. - Ph̀n điọn (Segmentation): tách ảnh điâu vào thành các v̀ng điói tợng khác nhau. - Biểu diên ảnh (Image Representation): Đâu ra ảnh sau ph̀n điọn ch́a các điiểm ảnh của v̀ng ảnh (ảnh điã ph̀n điọn) cộng v́i mã liên kêt v́i MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 4/41 các v̀ng lận cận. Các số liệu này điợc biên điổi thành các ḍng thích ḥp cho việc xaử lý tiêp theo bằng máy tính, sau đió ảnh sẽ điợc chon các tích chất điể thể hiện hay còn goi là trích chon điặc trơng (Feature Selection) găn v́i việc tách các điặc tính của ảnh dới ḍng các th ng tin điịnh lợng hoặc là làm cơ sở điể ph̀n biệt ĺp điối tợng này v́i điối tợng khác trong pḥm vi ảnh nhận điợc. - Nhận ḍng và nội suy ảnh (Image Recognition and Interpretation): nhận ḍng là quá trình xaác điịnh ảnh bằng cách so sánh v́i mâu chuẩn điã điợc chon hoặc lơu từ trớc. Nội suy là phán đioán ảnh theo ý nghĩa trên cơ sở nhận ḍng. Các điối tợng nhận ḍng phổ biên hiện nay điợc áp dung trong khoa hoc và c ng nghệ: nhận ḍng ký ṭ( ch̃ viêt tay, ch̃ in, ch̃ ký điiện tử), nhận ḍng vắn bản, nhận ḍng hình ảnh ( v̀n tay, mặt ngơời, mã ṿch,..). - Cơ sở tri th́c (Knowledge Base): Một điối tợng khá ph́c ṭp vê điơờng net, điộ sáng tối, dung lợng điiểm ảnh, m i trơờng điể thu ảnh phong phú keo theo nhiêu. Trong nhiêu kh̀u xaử lý và ph̀n tích ảnh cân điơn giản hóa các phơơng pháp toán hoc điảm bảo tiện ḷi cho xaử lý giống quy trình tiêp nhận và xaử lý ảnh theo cách của con ngơời, ở đìy các cơ sở tri th́c điợc phát huy. - M tả và phát huy: Ảnh sau khi điợc số hóa sẽ điợc chuyển sang khu ṿc lơu tr̃ phuc vu cho các c ng điọn tiêp theo. Nêu lơu tr̃ tṛc tiêp từ ảnh th thì dung lợng lơu tr̃ sẽ rất ĺn, vì vậy cân m tả, biểu diên sao cho dung lợng lơu tr̃ là thấp nhất, điể tiêt kiệm bộ nh́ cũng nhơ tiêt kiệm thời gian làm việc. c. Các kiểu ảnh trong Matlab  Ảnh điợc điịnh chi số (Indexaed Images) Một ảnh chi số bao gồm một ma trận d̃ liệu X và ma trận bản điồ màu map. Ma trận d̃ liệu có thể có kiểu thuộc ĺp uintơ, uint16 hoặc kiểu double. Ma trận bản điồ màu là một mảng mxa3 kiểu double bao gồm các giá trị dấu phẩy MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 5/41 điộng nằm gĩa 0 và 1. Môi hàng của bản điồ chi ra các giá trị red, green và blue của một màu điơn. Một ảnh chi số sử dung ánh xạ tṛc tiêp gĩa giá trị của pixael ảnh t́i giá trị trong bản điồ màu. Màu săc của môi pixael ảnh điợc tính toán bằng cách sử dung giá trị tơơng ́ng của X ánh xạ t́i một giá trị chi số của map. Giá trị 1 chi ra hàng điâu tiên, giá trị 2 chi ra hàng th́ hai trong bản điồ màu … Một bản điồ màu thơờng điợc ch́a c̀ng v́i ảnh chi số và điợc ṭ điộng ṇp c̀ng v́i ảnh khi sử dung hàm imread điể đioc ảnh. Tuy nhiên, kh ng bị gíi ḥn khi sử dung bản điồ màu mặc điịnh, có thể sử dung bất kì bản điồ màu nào.  Ảnh cơờng điộ (Intensity Images) Một ảnh cơờng điộ là một ma trận d̃ liệu ảnh I mà giá trị của nó địi diện cho cơờng điộ trong một số v̀ng nào đió của ảnh. Matlab ch́a một ảnh cơờng điộ nhơ một ma trận điơn, v́i môi phân tử của ma trận tơơng ́ng v́i một pixael của ảnh. Ma trận có thể thuộc ĺp double, uintơ hay uint16. Trong khi ảnh cơờng điộ hiêm khi điợc lơu v́i bản điồ màu, Matlab sử dung bản điồ màu điể hiển thị chúng. Nh̃ng phân tử trong ma trận cơờng điộ địi diện cho các cơờng điộ khác nhau hoặc điộ xaám. Nh̃ng điiểm có cơờng điộ bằng 0 thơờng điợc địi diện bằng màu đien và cơờng điộ 1,255 hoặc 65535 thơờng địi diện cho cơờng điộ cao nhất hay màu trăng.  Ảnh nhị ph̀n (Binary Images) Trong một ảnh nhị ph̀n, môi pixael chi có thể ch́a một trong hai giá trị nhị ph̀n 0 hoặc 1. Hai giá trị này tơơng ́ng v́i bật hoặc tăt (on hoặc off). Một ảnh nhị ph̀n điợc lơu tr̃ nhơ một mảng logic của 0 và 1.  Ảnh RGB (RGB Images) Một ảnh RGB – thơờng điợc goi là true-color, điợc lơu tr̃ trong Matlab dới ḍng một mảng d̃ liệu có kích thớc 3 chiêu mxanxa3 điịnh nghĩa các giá trị màu red, green và blue cho môi pixael riêng biệt. Màu của môi pixael điợc MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 6/41 quyêt điịnh bởi ṣ kêt ḥp gĩa các giá trị R, G, B (Red, Green, Blue) điợc lơu tr̃ trong một mặt phẳng màu ṭi vị trí của pixael. Định ḍng file điồ họ lơu tr̃ ảnh RGB giống nhơ một ảnh 24 bits trong đió R, G, B chiêm tơơng ́ng ơ bit một. Điêu này cho phep nhận điợc 16 triệu màu khác nhau. Một mảng RGB có thể thuộc ĺp double, uintơ hoặc uint16. Trong một mảng RGB thuộc ĺp double, môi thành phân màu có giá trị gĩa 0 và 1. Một pixael mà thành phân màu của nó là (0, 0, 0) điợc hiển thị v́i màu đien và một pixael mà thành phân màu là (1, 1, 1 ) điợc hiển thị v́i màu trăng. Ba thành phân màu của môi pixael điợc lơu tr̃ c̀ng v́i chiêu th́ 3 của mảng d̃ liệu. Chẳng ḥn, giá trị màu R, G, B của pixael (10, 5) điợc lơu tr̃ trong RGB(10, 5, 1), RGB(10, 5, 2) và RGB(10, 5, 3) tơơng ́ng. Để tính toán màu săc của pixael ṭi hàng 2 và cột 3 chẳng ḥn, ta nhìn vào bộ ba giá trị điợc lơu tr̃ trong (2, 3, 1:3). Giả sử (2, 3, 1) ch́a giá trị 0.517”6; (2, 3, 2) ch́a giá trị 0.160ơ và (2, 3, 3) ch́a giá trị 0.0627” thì màu săc của pixael ṭi (2, 3) sẽ là (0.517”6, 0.160ơ, 0.0627”). 1.3Các hàm xaử lý ảnh trong Matlab a. Đoc và ghi d̃ liệu • Đoc một ảnh điồ họ. – Hàm imread đioc một ảnh bất kỳ v́i các điịnh ḍng điợc hô tṛ nhơ: bmp, gif, jpeg, tiff,.. Ví du, điọn mã sau sẽ đioc một ảnh RGB vào kh ng gian làm việc của Matlab lơu trong biên RGB. RGB = imread(‘football.jpg’); • Đoc nhiêu ảnh từ một file điồ họ – Matlab tṛ giúp một số điịnh ḍng file điồ họ chẳng ḥn nhơ: HDF và TIFF, chúng ch́a nhiêu ảnh. Theo mặc điịnh, imread chi tṛ giúp ảnh điâu tiên trong file. Để nhập thêm các ảnh từ file, sử dung cú pháp điợc tṛ giúp bởi điịnh ḍng file. MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 7/41 Ví du sau đìy đioc một chuôi 27” ảnh từ một file TIFF và lơu nh̃ng ảnh này trong một mảng 4 chiêu. Ta có thể sử dung hàm iminfo điể xaem bao nhiêu ảnh điã điợc lơu tr̃ trong file: Mri = unitơ(zero(12ơ,12ơ,1,27”)); For frame = 1:27” [mri(:,:,:,frame),map] = imread(‘mri.tif,frame); End – Khi file ch́a nhiêu ảnh theo một số kiểu nhất điịnh chẳng ḥn theo th́ ṭ thời gian, ta có thể lơu ảnh trong Matlab dới ḍng mảng 4 chiêu. Tất cả các ảnh phải có c̀ng kích thớc. • Ghi một ảnh điồ họ – Hàm imwrite sẽ ghi một ảnh t́i một file điồ họ dới một trong các điịnh ḍng điợc tṛ giúp. Cấu trúc cơ bản nhất của imwrite sẽ yêu câu một biên ảnh và tên file. Nêu ta gộp một phân mở rộng trong tên file, Matlab sẽ nhận ra điịnh ḍng mong muốn từ nó. – Khi sử dung imwrite v́i một số điịnh ḍng điồ họ, ta có thể chi ra các tham số phu. Ví du: Imwrite(I,’clown.png’,’BitDepth’,4); • Đoc và ghi ảnh nhị ph̀n theo điịnh ḍng 1 bit – Trong một số điịnh ḍng file, một ảnh nhị ph̀n có thể điợc lơu trong một điịnh ḍng 1 bit. Khi ta đioc một ảnh nhị ph̀n v́i điịnh ḍng 1 bit, Matlab địi diện nó trong kh ng gian làm việc nhơ một mảng l gic. – Ví du sau đioc một ảnh nhị ph̀n và ghi nó dới ḍng file TIFF. Bởi vì điịnh ḍng TIFF tṛ giúp ảnh 1 bit, file điợc ghi lên điĩa theo điịnh ḍng 1 bit: BW = imread(‘texat.png’); Imwrite(BW,’test.tif’); Để kiểm tra chiêu s̀u bit của file test.tif, goi hàm iminfo và kiểm tra trơờng BitDepth của nó: Info = imfinf(‘test.tif’);info.BitDepth MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 8/41 Ans = 1 Chú ý: Khi ghi file nhị ph̀n, Matlab thiêt lập trơờng ColorType thành ‘grayscale’. • Xem ĺp lơu tr̃ của file – Hàm imwrite sử dung luật sau đìy điể quyêt điịnh ĺp lơu tr̃ điợc sử dung trong ảnh kêt quả: + logical: Nêu điịnh ḍng ảnh ra (Output Image) điợc chi rõ là tṛ giúp ảnh 1 bit, hàm imwrite ṭo một file ảnh 1 bit. Nêu điịnh ḍng ảnh ra điợc chi rõ là kh ng tṛ giúp ảnh 1 bit (nhơ JPEG), hàm imwrite chuyển ảnh t́i một ảnh thuộc ĺp uintơ. + uintơ: Nêu điịnh ḍng ảnh ra điợc chi rõ là tṛ giúp ảnh ơ bit, hàm imwrite ṭo một ảnh ơ bit + uint16: Nêu điịnh ḍng ảnh ra điợc chi rõ tṛ giúp ảnh 16 bit (PNG hoặc TIFF), hàm imwrite ṭo một ảnh 16 bit. Nêu điịnh ḍng ảnh ra kh ng tṛ giúp ảnh 16 bit, hàm chuyển điổi d̃ liệu ảnh t́i ĺp uintơ và ṭo một ảnh ơ bit. + double: Matlab chuyển d̃ liệu ảnh t́i ḍng uintơ và ṭo một ảnh ơ bit bởi vì hâu hêt các file ảnh sử dung điịnh ḍng ơ bit. Truy vấn một file điồ họ – Hàm imfinfo cho phep ta có thể nhận điợc th ng tin vê một file ảnh điợc tṛ giúp bởi toolboxa. Cú pháp: imfinfo(filename,fmt) Các th ng tin điợc cung cấp bởi hàm imfinfo là: filename, filemodedate, filesize, format, formatversion, width, height, bitdepth, colortype … Th ng tin mà ta nhận điợc phu thuộc vào kiểu của file nhơng nó lu n bao gồm nh̃ng th ng tin sau: Tên của file ảnh, điịnh ḍng fiel ảnh, số version của điịnh ḍng file, ngày sửa điổi gấn nhất, kích thớc file tính theo byte, chiêu rộng ảnh tính theo pixael, chiêu cao ảnh tính theo pixael, số lợng bit trên 1 pixael, kiểu ảnh,.. Hiển thị ảnh. MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 9/41 • D̀ng hàm imview – Để hiển thị một ảnh sử dung hàm imview, d̀ng hàm imview, chi rõ ảnh mà ta muốn hiển thị. Ta có thể sử dung imview điể hiển thị một ảnh mà điã điợc nhập vào trong kh ng gian làm việc của Matlab. Moonfig = imread(‘moon.tif’); Imview(moonfig); Ta cũng có thể chi điịnh tên của file ảnh nhơ trong ví du sau: Imview(‘moon.tif’); – File ảnh phải có mặt trong thơ muc hiện ṭi hoặc trong điơờng dân của Matlab. Cấu trúc này có thể h̃u ích cho việc quet qua nhiêu ảnh. Tuy nhiên, lơu ý, khi sử dung cấu trúc này, d̃ liệu ảnh kh ng điợc lơu trong kh ng gian làm việc của Matlab. – Nêu ta goi hàm imview mà kh ng chi ra mất kì tham số nào, nó sẽ hiển thị một hộp chon file cho phep ta chi ra tên file muốn hiển thị. • Xem nhiêu ảnh – Nêu ta chi ra một file mà ch́a nhiêu ảnh, hàm imview chi hiển thị ảnh điâu tiên trong file đió. Để xaem tất cả các ảnh trong file, sử dung hàm imread điể nhập môi ảnh vào trong kh ng gian làm việc của Matlab sau đió goi hàm imview nhiêu lân điể hiển thị môi ảnh riêng biệt. • D̀ng hàm imshow – Để xaem ảnh, ta có thể sử dung hàm imshow thay cho imview. Ta sử dung imshow điể hiển thị một ảnh điã điợc nhập vào trong kh ng gian làm việc nhơ ví du sau: Moon = imread(‘moon.tif’); Imshow(moon); Ta cũng có thể chi ra tên của file ảnh nhơ một tham số truyên vào cho hàm nhơ ví du sau: imshow(‘moon.tif’); Khi sử dung cấu trúc này thì d̃ liệu ảnh kh ng điợc nhập vào trong kh ng gian làm việc. Tuy nhiên, ta có thể mang ảnh vào trong kh ng gian làm việc MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 10/41 bằng cách sử dung hàm getimage. Hàm này sẽ nhận d̃ liệu ảnh từ handle của một điối tợng ảnh hiện ṭi. Chẳng ḥn: moon = getimage; Sẽ gán d̃ liệu ảnh từ moon.tif vào biên moon. b. Các hàm chuyển điổi kiểu ảnh. V́i các thao tác nhất điịnh sẽ thật h̃u ích khi có thể chuyển điổi ảnh từ ḍng này sang ḍng khác. Chẳng ḥn, nêu ta muốn loc một màu ảnh điợc lơu tr̃ dới ḍng ảnh chi số điâu tiên ta nên chuyển điổi nó thành ḍng ảnh RGB. Khi ta áp dung phep loc t́i ảnh RGB, Matlab sẽ loc giá trị cơờng điộ trong ảnh tơơng ́ng. Nêu ta cố găng loc ảnh chi số, Matlab điơn giản chi áp điặt phep loc t́i ma trận ảnh chi số và kêt quả sẽ kh ng có ý nghĩa. – Danh sách sau đìy sẽ liệt kê các hàm điợc sử dung trong việc chuyển điổi kiểu ảnh:  dither: Ṭo một ảnh nhị ph̀n từ một ảnh cơờng điộ đien trăng bằng cách trộn, ṭo một ảnh chi số từ một ảnh RGB bằng cách trộn (dither).  gray2id: Ṭo một ảnh chi số từ một ảnh cơờng điộ đien trăng.  grayslice: Ṭo một ảnh chi số từ một ảnh cơờng điộ đien trăng bằng cách điặt ngơỡng.  im2bw: Ṭo một ảnh nhị ph̀n từ một ảnh cơờng điộ, ảnh chi số hay ảnh RGB trên cơ sở của ngơỡng ánh sáng.  ind2gray: Ṭo một ảnh cơờng điộ đien trăng từ một ảnh chi số.  ind2rgb: Ṭo một ảnh RGB từ một ảnh chi số.  mat2gray: Ṭo một ảnh cơờng điộ đien trăng từ d̃ liệu trong một ma trận bằng cách lấy ti lệ gĩ liệu.  rgb2gray: Ṭo một ảnh cơờng điộ đien trăng từ một ảnh RGB.  rgb2ind: Ṭo một ảnh chi số từ một ảnh RGB. – Ta cũng có thể tḥc hiện các phep chuyển điổi kiểu chi sử dung cú pháp của Matlab. Chẳng ḥn, ta có thể chuyển điổi một ảnh cơờng điộ sang ảnh RGB bằng cách ghep nối 3 phân copy của ma trận ảnh gốc gĩa 3 chiêu: RGB = cat(3,I,I,I); MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 11/41 – Ảnh RGB thu điợc có các ma trận điồng nhất cho các mặt phẳng R, G, B vì vậy ảnh hiển thị giống nhơ bóng xaám. – Thêm vào nh̃ng c ng cu chuyển điổi chuẩn điã nói ở trên, cũng có một số hàm mà trả ḷi kiểu ảnh khác nhơ một phân trong thao tác mà chúng tḥc hiện. • Chuyển điổi kh ng gian màu – Toolboxa xaử lý ảnh biểu diên màu săc nhơ các giá trị RGB ( tṛc tiêp trong ảnh RGB hoặc gián tiêp trong ảnh chi số ). Tuy nhiên, có các phơơng pháp khác cho việc biểu diên màu săc. Chẳng ḥn, một màu có thể điợc địi diện bởi các giá trị hue, saturation và các giá trị thành phân (HSV). Các phơơng pháp khác cho việc biểu diên màu điợc goi là kh ng gian màu. – Toolboxa cung cấp một tập các thủ tuc điể chuyển điổi gĩa các kh ng gian màu. Các hàm xaử lý ảnh ṭ chúng coi d̃ liệu màu săc dới ḍng RGB tuy nhiên, ta có thể xaử lý một ảnh mà sử dung các kh ng gian màu khác nhau bằng cách chuyển điổi nó sang RGB sau đió chuyển điổi ảnh điã điợc xaử lý trở ḷi kh ng gian màu ban điâu. c. Chuyển điổi điịnh ḍng các file ảnh. Để thay điổi điịnh ḍng điồ họ của một ảnh, sử dung hàm imread điể đioc một ảnh và sau đió lơu nó v́i hàm imwrite điồng thời chi ra điịnh ḍng tơơng ́ng. – Để minh họ, ví du sau đìy sử dung hàm imread điể đioc một file BMP vào kh ng gian làm việc.Sau đió, hàm imwrite lơu ảnh này dới điịnh ḍng PNG Bitmap = imread(‘mybitmap.bmp’,’bmp’); Imwrite(bitmap,’mybitmap.png’,’png’); d. Số ảnh hoc. Số hoc ảnh ṣ ́ng dung của các phep toán số hoc chuẩn nhơ: cộng, trừ, nh̀n, chia lên ảnh. Số hoc ảnh điợc sử dung nhiêu trong xaử lý ảnh trong cả các bớc ban điâu lân các thao tác ph́c ṭp hơn. Chẳng ḥn, trừ ảnh có thể điợc sử dung điể phát hiện ṣ khác nhau gĩa hai hoặc nhiêu ảnh của c̀ng một cảnh hoặc một vật. MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 12/41 – Ta có thể tḥc hiện số hoc ảnh sử dung các toán tử số hoc của Matlab. Toolboxa xaử lý ảnh bao gồm một tập ḥp các hàm ́ng dung các phep toán số hoc trên tất cả các con số kh ng lấp điây. Hàm số hoc của toolboxa chấp nhận bất kì kiểu d̃ liệu số nào bao gồm uintơ, uint16 hay double và trả ḷi ảnh kêt quả trong c̀ng điịnh ḍng. Các hàm tḥc hiện các phep toán v́i điộ chính xaác kep trên từng phân tử nhơng kh ng chuyển điổi ảnh t́i giá trị chính xaác kep trong kh ng gian làm việc của Matlab. Ṣ tràn số điợc điiêu khiển ṭ điộng. Hàm sẽ căt bỏ giá trị trả vê điể vừa v́i kiểu d̃ liệu. • Luật căt bỏ trong số hoc ảnh – Kêt quả của số hoc nguyên có thể dê dàng tràn số d̀ng cho lơu tr̃. Chẳng ḥn, giá trị c̣c địi ta có thể lơu tr̃ trong uintơ là 255. Các phep toán số hoc có thể trả vê giá trị ph̀n số – kh ng điợc biểu diên bởi một chuôi số nguyên. – Các hàm số hoc ảnh sử dung nh̃ng luật này cho số hoc nguyên: + Giá trị vợt quá khoảng của kiểu số nguyên bị căt bỏ t́i khoảng đió + Giá trị ph̀n số điợc làm tròn Chẳng ḥn, nêu d̃ liệu có kiểu uintơ, kêt quả trả vê nêu ĺn hơn 255 ( bao gồm Inf ) thì điợc gán là 255. Lời goi lồng nhau t́i hàm số hoc ảnh – Ta có thể sử dung các hàm số hoc ảnh kêt ḥp điể tḥc hiện một chuôi các phep toán. Chẳng ḥn điể tính giá trị trung bình của hai ảnh: C=(A+B) /2 Ta có thể nhập vào nhơ sau: I = imread(‘rice.png’); I2 = imread(‘cameraman.tif’); K = imdivide(imadd(I,I2),2); – Khi điợc sử dung v́i kiểu uintơ hay uint16, môi hàm số hoc căt kêt quả của nó trớc khi truyên nó cho hàm thiêp theo. Ṣ căt bỏ này có thể giảm điáng kể lợng th ng tin trong ảnh cuối c̀ng. Một cách làm tốt hơn điể tḥc hiện một chuôi các tính toán là sử dung hàm imlincomb. Hàm này thi hành MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 13/41 tất cả các phep toán số hoc trong ṣ kêt ḥp tuyên tính của điộ chính xaác kep và chi căt bỏ kêt quả cuối c̀ng: K = imlincomb(.5,I,.5,I2); • Biên điổi kh ng gian ảnh Biên điổi kh ng gian ảnh là tḥc hiện ánh xạ gĩa vị trí các pixael trong ảnh vào v́i các pixael trong ảnh ra. • Bảng thuật ng̃ Aliasing : Rắng cơa – xauất hiện khi giảm kích thớc ảnh. Khi kích thớc của một ảnh bị giảm, các pixael gốc bị lấy mâu giảm điể ṭo ra ít pixael hơn. Aliasing xaảy ra nhơ kêt quả của việc giảm kích thớc ảnh thơờng xauất hiện dới ḍng bậc thang ( điặc biệt trong các ảnh có điộ tơơng phản cao ) Antialiasing : Các biện pháp chống rắng cơa cho ảnh Bicubic interpolation : Giá trị của các pixael ra điợc tính toán từ giá trị trung bình của 4×4 pixael l̀n cận Bilinear interpolation : Gía trị của pixael ra điợc tính toán từ giá trị trung bình của 2×2 pixael l̀n cận Geometric operation : Một thao tác sửa điổi quan hệ hình hoc g̃a các pixael trong một ảnh. Chẳng ḥn thay điổi kích thớc ảnh, quay ảnh và xaen ảnh Interpolation : Quá trình điợc sử dung điể ớc lợng giá trị ảnh ở một vị trí gĩa các pixael Nearest-neighbor interpolation : Các giá trị pixael ra điợc gán giá trị của pixael nằm trong một v̀ng gân pixael đió. • Nội suy Nội suy là quá trình sử dung điể ớc lợng một giá trị ảnh ở một vị trí gĩa các pixael. Chẳng ḥn, nêu ta thay điổi kích thớc một ảnh, nó sẽ ch́a nhiêu pixael hơn ảnh gốc, toolboxa sử dung ṣ nội suy điể tính giá trị cho các pixael thêm vào. Hàm imresize và imrotate sử dung nội suy hai chiêu điể tḥc hiện thao tác của mình. Hàm improfile cũng sử dung ṣ nội suy hoá. Các phơơng pháp nội suy MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 14/41 – Toolboxa sử lý ảnh cung cấp 3 cách nội suy hoá + Nội suy các pixael gân nhất ( nearest –neighbor interpolation ) + Nội suy song tuyên tính ( Bilinear interpolation ) + Nội suy song khối ( Bicubic interpolation ) Các phơơng pháp nội suy làm việc theo một cách giống nhau. Trong môi trơờng ḥp, điể tính giá trị của một pixael điã điợc nội suy, chúng tìm điiểm trong ảnh ra mà pixael nằm ṭi đió. Sau đió, chúng gán một giá trị t́i các pixael ra bằng cách tính toán giá trị trung bình có trong số của một số pixael l̀n cận. Trong số ḍa trên cơ sở khoảng cách t́i điiểm điang xaet. – Các phơơng pháp này khác nhau ở tập các pixael mà chúng xaem xaet: + V́i nội suy các pixael gân nhất: pixael ra điợc gán giá trị của các pixael ở gân nó nhất. Các pixael khác kh ng điợc xaem xaet. + Nội suy song tuyên tính, giá trị của pixael ra là giá trị trung bình theo trong số của 2×2 pixael l̀n cận. + Nội suy song khối: giá trị của pixael ra là trung bình có trong số của 4×4 pixael l̀n cận. Số lợng các pixael điợc xaem xaet ảnh hơởng điên điộ ph́c ṭp tính toán. Vì vậy, phơơng pháp song tuyên tính mất nhiêu thời gian hơn phơơng pháp th́ nhất và phơơng pháp song khối mất nhiêu thời gian hơn song tuyên tính. Tuy nhiên, số lợng pixael ĺn hơn, điộ chính xaác sẽ tốt hơn. CHƯƠNG 2. MÃ VẠCH TRÊN SẢN PHẨM 1.4Lịch sử hình thành và phát triển mã ṿch Để thuận ḷi và ǹng cao hiệu quả trong bán và quản lý sản phẩm, nhà sản xauất thơờng in trên hàng hoá một lọi mã hiệu điặc biệt goi là mã số mã ṿch. Mã số mã ṿch là một trong nh̃ng c ng nghệ nhận ḍng và thu thập d̃ liệu ṭ điộng ḍa trên nguyên tăc: điặt cho điối tợng cân quản lý một dãy số (hoặc dãy ch̃ và MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM Trang 15/41 số), sau đió thể hiện dới ḍng mã ṿch điể máy quet có thể đioc điợc. Trong quản lý hàng hóa ngơời ta goi dãy số và dãy ṿch đió là mã số mã ṿch của hàng hóa. Mã số mã ṿch điâu tiên điợc chê ṭo và điơa vào sử dung trên thê gíi từ nh̃ng nắm thập kỷ 7”0 của thê kỷ 20. Do yêu câu phát triển sản xauất và kinh doanh thơơng ṃi, c ng nghệ mã số mã ṿch ngày càng điợc nghiên ću hoàn thiện, phát triển và điợc dung rộng rãi trong đia ngành kinh tê và trên toàn thê gíi. Nắm 197”3 tổ ch́c MSMV điâu tiên điợc thành lập, đió là Hội điồng mã thống nhất của Mỳ (viêt tăt tên tiêng Anh là UCC). Nắm 197”7”, Hội mã số vật phẩm Ch̀u ̀u (EAN) ra điời do sáng kiên của 12 nớc Ch̀u Âu, điên nắm 19ơ4 điổi thành EAN International, là một tổ ch́c phi ḷi nhuận, họt điộng trên cơ sở trung lập v́i muc điích chính là điẩy ṃnh áp dung hệ thống EAN trên toàn câu trong tất cả các ngành kinh tê - xaã hội nhằm cung cấp ng n ng̃ chung cho thơơng ṃi quốc tê (điặc biệt là thơơng ṃi điiện tử. . .). Từ nắm 2005, hai tổ ch́c EAN International và UCC ḥp nhất thành một tổ ch́c ph̀n điịnh toàn câu có tên là GS1. 1.5Mã ṿch là gì? Mã số hàng hóa( Article Number Code) là dãy ch̃ số nguyên, trong đió có các nhóm số điể biêt điợc xauất xá của hàng hóa, một nhóm số điể biêt điợc doanh nghiệp sản xauất, một nhóm số thể hiện lọi hàng hóa, và một nhóm số thể hiện số kiểm tra hàng hóa. Một mã số hàng hóa có 2 tính chất cơ bản: + Con số duy nhất điặc trơng cho hàng hóa, môi lọi hàng hóa điợc nhận diện bởi 1 dãy số duy nhất và ngợc ḷi môi dãy số chi tơơng ́ng v́i một lọi hàng hóa. + Mã số chi là dãy số địi diện cho hàng hóa ch́ kh ng liên quan điên điặc điiểm hay chất lợng của hàng hóa, trên mã số cũng kh ng có giá của hàng hóa mà giá của hàng hóa chi điợc nhà cung cấp lơu ḷi trên hệ thống của cửa hàng. MÔ PHỎNG NHẬN DIỆN MÃ VẠCH TRÊN SẢN PHẨM
- Xem thêm -

Tài liệu liên quan