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 -