1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

MÔ PHỎNG NHẬN DIỆN mã VẠCH TRÊN sản PHẨM (có code)

46 977 19

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 729,2 KB

Nội dung

MÔ PHỎNG NHẬN DIỆN mã VẠCH TRÊN sản PHẨM (có code) ................. MÔ PHỎNG NHẬN DIỆN mã VẠCH TRÊN sản PHẨM (có code) ................. MÔ PHỎNG NHẬN DIỆN mã VẠCH TRÊN sản PHẨM (có code) ................. MÔ PHỎNG NHẬN DIỆN mã VẠCH TRÊN sản PHẨM (có code) .................

Trang 1

TRÊN SẢN PHẨM

Trang 2

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

Trang 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

Trang 4

BẢNG 2-2: VẠCH BIÊN VÀ VẠCH GIỮA 19 Y

Trang 5

CGA Color Graphic Adaptor)

CMYK Cyan – Magenta – Yellow - Key

EAN European Article Number

RGB Hệ màu Red – Green - Blue

UPC Universal Product Code

Trang 6

CHƯƠNG 1 ẢNH SỐ

1.1 Ảnh số là gì?

Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả ảnhgần với ảnh thật Số điểm ảnh xác định độ phân giải của ảnh, ảnh có độ phân giảicàng cao thì càng thể hiện rõ nét các đặc điểm của tấm hình, càng làm cho tấm ảnhtrở nên thực và sắc nét hơn

a Điểm ảnh (Picture Element)

Điểm ảnh (Pixel) là một phần tử của ảnh số tại tọa độ (x, y) với độ xám hoặcmàu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọnthích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám( hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận đượcgọi là một phần tử ảnh

b Mức xám của ảnh

Mức xám là kết quả của sự biến đổi tương ứng 1 giá trị độ sáng của 1 điểmảnh với 1 gía trị nguyên dương Thông thường nó xác định trong [0, 255] tùythuộc vào giá trị mà mỗi điểm ảnh được biểu diễn Các thang giá trị mứcxám thông thường: 16, 32, 64, 128, 256 Mức 256 là mức phổ dụng vì từ kythuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám Mức xám dùng mộtbyte biểu diễn : 28 = 256 mức, tức là từ 0 đế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ểm ảnh được ấn địnhtrên một ảnh số được hiển thị Khoảng cách giữa các điểm ảnh phải đượcchọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọnkhoảng cách thích hợp tạo nên một mật độ phân bố, đó chính là độ phân giải

và được phân bố theeo trục x và y trong không gian 2 chiều Ví dụ: Độ phângiải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểmtheo chiều ngang màn hình: 320 điểm chiều dọc*200 điểm ảnh (320*200).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”

Trang 7

độ phân giải 320*200 Vì cùng một mật độ nhưng diện tích mà hình rộng hơnthì độ mịn ( độ liên tục của các điểm) kém hơn.

d Các cách phân loại ảnh

 Ảnh nhị phân: Giá trị xám của tất cả các điểm ảnh chỉ nhận giá trị 1 hoặc

0 như vậy mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi 1 bit Ảnhxám: Giá trị xám nằm trong [0, 255] như vậy mỗi điểm ảnh trong ảnh nhịphân được biểu diễn bởi 1 byte

 Ảnh màu:

- Hệ màu RGB:

Một pixel được biểu diễn bằng 3 giá trị (R, G, B) trong đó R, G, B là một giátrị xám và được biểu biểu diễn bằng 1 byte Khi đó ta có một ảnh 24 bits.P(x, 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 được dùng trong máy in

– Hệ màu CMYK trong đó K là độ đậm nhạt của màu K= min(C, M, Y)P(x, y) = (C-K, M-K, V-K, K)

e Các giai đoạn xử lý ảnh

Hình 1-1: Các giai đoạn xử lý ảnh

Trang 8

1.2 Xử lý ảnh với Matlab

ra, ảnh cũng có thể tiếp nhận từ vệ tinh,

b Các giai đoạn xử lý ảnh

Hình 1-2: Các giai đoạn xử lý ảnh trong matlab

- Thu nhận ảnh (Image Acquisition): Ảnh được thu từ các nguồn như máyảnh, máy quay phim, máy quét, ảnh vệ tinh…Ảnh này có thể là ảnh màuhoặc trắng đen, chất lượng ảnh phụ thuộc vào thiết bị thu nhận hình ảnh

- Tiền xử lý (Image Processing): Sau khi ảnh được thu vào được xử lý đểchất lượng ảnh tốt lên qua việc điều chỉnh độ chiếu sáng, hiệu chỉnh giátrị độ sáng giữa nền và đối tượng, giảm nhỏ thành phần nhiễu, điều chỉnhbọ lọc và khuếch đại

- Phân đoạn (Segmentation): tách ảnh đầu vào thành các vùng đói tượngkhác nhau

- Biểu diễn ảnh (Image Representation): Đầu ra ảnh sau phân đoạn chứacác điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với

Trang 9

các vùng lận cận Các số liệu này được biến đổi thành các dạng thích hợpcho việc xử lý tiếp theo bằng máy tính, sau đó ảnh sẽ được chọn các tíchchất để thể hiện hay còn gọi là trích chọn đặc trưng (Feature Selection)gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượnghoặc là làm cơ sở để phân biệt lớp đối tượng này với đối tượng kháctrong phạm vi ảnh nhận được.

- Nhận dạng và nội suy ảnh (Image Recognition and Interpretation): nhậndạng là quá trình xác định ảnh bằng cách so sánh với mẫu chuẩn đã đượcchọn hoặc lưu từ trước Nội suy là phán đoán ảnh theo ý nghĩa trên cơ sởnhận dạng Các đối tượng nhận dạng phổ biến hiện nay được áp dụngtrong khoa học và công nghệ: nhận dạng ký tự( chữ viết tay, chữ in, chữ

ký điện tử), nhận dạng văn bản, nhận dạng hình ảnh ( vân tay, mặt người,

mã vạch, )

- Cơ sở tri thức (Knowledge Base): Một đối tượng khá phức tạp về đườngnét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phúkéo theo nhiễu Trong nhiều khâu xử lý và phân tích ảnh cần đơn giảnhóa các phương pháp toán học đảm bảo tiện lợi cho xử lý giống quy trìnhtiếp nhận và xử lý ảnh theo cách của con người, ở đây các cơ sở tri thứcđược phát huy

- Mô tả và phát huy: Ảnh sau khi được số hóa sẽ được chuyển sang khuvực lưu trữ phục vụ cho các công đoạn tiếp theo Nếu lưu trữ trực tiếp từảnh thô thì dung lượng lưu trữ sẽ rất lớn, vì vậy cần mô tả, biểu diễn saocho dung lượng lưu trữ là thấp nhất, để tiết kiệm bộ nhớ cũng như tiếtkiệm thời gian làm việc

c Các kiểu ảnh trong Matlab

 Ảnh được định chỉ số (Indexed Images)

Một ảnh chỉ số bao gồm một ma trận dữ liệu X và ma trận bản đồ màu map

Ma trận dữ liệu có thể có kiểu thuộc lớp uint8, uint16 hoặc kiểu double Matrận bản đồ màu là một mảng mx3 kiểu double bao gồm các giá trị dấu phẩy

Trang 10

động nằm giữa 0 và 1 Mỗi hàng của bản đồ chỉ ra các giá trị red, green vàblue của một màu đơn Một ảnh chỉ số sử dụng ánh xạ trực tiếp giữa giá trịcủa pixel ảnh tới giá trị trong bản đồ màu Màu sắc của mỗi pixel ảnh đượctính toán bằng cách sử dụng giá trị tương ứng của X ánh xạ tới một giá trị chỉ

số của map Giá trị 1 chỉ ra hàng đầu tiên, giá trị 2 chỉ ra hàng thứ hai trongbản đồ màu …

Một bản đồ màu thường được chứa cùng với ảnh chỉ số và được tự động nạpcùng với ảnh khi sử dụng hàm imread để đọc ảnh Tuy nhiên, không bị giớihạn khi sử dụng bản đồ màu mặc định, có thể sử dụng bất kì bản đồ màu nào

 Ảnh cường độ (Intensity Images)

Một ảnh cường độ là một ma trận dữ liệu ảnh I mà giá trị của nó đại diện chocường độ trong một số vùng nào đó của ảnh Matlab chứa một ảnh cường độnhư một ma trận đơn, với mỗi phần tử của ma trận tương ứng với một pixelcủa ảnh Ma trận có thể thuộc lớp double, uint8 hay uint16 Trong khi ảnhcường độ hiếm khi được lưu với bản đồ màu, Matlab sử dụng bản đồ màu đểhiển thị chúng

Những phần tử trong ma trận cường độ đại diện cho các cường độ khác nhauhoặc độ xám Những điểm có cường độ bằng 0 thường được đại diện bằngmàu đen và cường độ 1,255 hoặc 65535 thường đại diện cho cường độ caonhất hay màu trắng

 Ảnh nhị phân (Binary Images)

Trong một ảnh nhị phân, mỗi pixel chỉ 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 đượ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 được gọi là true-color, được lưu trữ trong Matlabdưới dạng một mảng dữ liệu có kích thước 3 chiều mxnx3 định nghĩa các giátrị màu red, green và blue cho mỗi pixel riêng biệt Màu của mỗi pixel được

Trang 11

quyết định bởi sự kết hợp giữa các giá trị R, G, B (Red, Green, Blue) đượclưu trữ trong một mặt phẳng màu tại vị trí của pixel Định dạng file đồ hoạlưu trữ ảnh RGB giống như một ảnh 24 bits trong đó R, G, B chiếm tươngứng 8 bit một Điều này cho phép nhận được 16 triệu màu khác nhau.

Một mảng RGB có thể thuộc lớp double, uint8 hoặc uint16 Trong một mảngRGB thuộc lớp double, mỗi thành phần màu có giá trị giữa 0 và 1 Một pixel

mà thành phần màu của nó là (0, 0, 0) được hiển thị với màu đen và mộtpixel mà thành phần màu là (1, 1, 1 ) được hiển thị với màu trắng Ba thànhphần màu của mỗi pixel được lưu trữ cùng với chiều thứ 3 của mảng dữ liệu.Chẳng hạn, giá trị màu R, G, B của pixel (10, 5) đượ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 pixel tại hàng 2 và cột 3 chẳng hạn, ta nhìn vào bộ

ba giá trị được lưu trữ trong (2, 3, 1:3) Giả sử (2, 3, 1) chứa giá trị 0.5176;(2, 3, 2) chứa giá trị 0.1608 và (2, 3, 3) chứa giá trị 0.0627 thì màu sắc củapixel tại (2, 3) sẽ là (0.5176, 0.1608, 0.0627)

1.3 Các hàm xử lý ảnh trong Matlab

a Đọc và ghi dữ liệu

• Đọc một ảnh đồ hoạ

– Hàm imread đọc một ảnh bất kỳ với các định dạng được hỗ trợ như: bmp,gif, jpeg, tiff, Ví dụ, đoạn mã sau sẽ đọc một ảnh RGB vào không gian làmviệc của Matlab lưu trong biến RGB

RGB = imread(‘football.jpg’);

• Đọc nhiều ảnh từ một file đồ hoạ

– Matlab trợ giúp một số định dạng file đồ hoạ chẳng hạn như: HDF và TIFF,chúng chứa nhiều ảnh Theo mặc định, imread chỉ trợ giúp ảnh đầu tiên trongfile Để nhập thêm các ảnh từ file, sử dụng cú pháp được trợ giúp bởi địnhdạng file

Trang 12

Ví dụ sau đây đọc một chuỗi 27 ảnh từ một file TIFF và lưu những ảnh nàytrong một mảng 4 chiều Ta có thể sử dụng hàm iminfo để xem bao nhiêuảnh đã được lưu trữ trong file:

• Ghi một ảnh đồ hoạ

– Hàm imwrite sẽ ghi một ảnh tới một file đồ hoạ dưới một trong các địnhdạng được trợ 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 định dạng mong muốn từ nó

– Khi sử dụng imwrite với một số định dạng đồ hoạ, ta có thể chỉ ra các tham

số phụ Ví dụ: Imwrite(I,’clown.png’,’BitDepth’,4);

• Đọc và ghi ảnh nhị phân theo định dạng 1 bit

– Trong một số định dạng file, một ảnh nhị phân có thể được lưu trong mộtđịnh dạng 1 bit Khi ta đọc một ảnh nhị phân với định dạng 1 bit, Matlab đạidiện nó trong không gian làm việc như một mảng lôgic

– Ví dụ sau đọc một ảnh nhị phân và ghi nó dưới dạng file TIFF Bởi vì địnhdạng TIFF trợ giúp ảnh 1 bit, file được ghi lên đĩa theo định dạng 1 bit:

Trang 13

Ans = 1

Chú ý: Khi ghi file nhị phân, Matlab thiết lập trường ColorType thành

‘grayscale’

• Xem lớp lưu trữ của file

– Hàm imwrite sử dụng luật sau đây để quyết định lớp lưu trữ được sử dụngtrong ảnh kết quả:

+ logical: Nếu định dạng ảnh ra (Output Image) được chỉ rõ là trợ giúp ảnh 1bit, hàm imwrite tạo một file ảnh 1 bit Nếu định dạng ảnh ra được chỉ rõ làkhông trợ giúp ảnh 1 bit (như JPEG), hàm imwrite chuyển ảnh tới một ảnhthuộc lớp uint8

+ uint8: Nếu định dạng ảnh ra được chỉ rõ là trợ giúp ảnh 8 bit, hàm imwritetạo một ảnh 8 bit

+ uint16: Nếu định dạng ảnh ra được chỉ rõ trợ giúp ảnh 16 bit (PNG hoặcTIFF), hàm imwrite tạo một ảnh 16 bit Nếu định dạng ảnh ra không trợ giúpảnh 16 bit, hàm chuyển đổi dữ liệu ảnh tới lớp uint8 và tạo một ảnh 8 bit.+ double: Matlab chuyển dữ liệu ảnh tới dạng uint8 và tạo một ảnh 8 bit bởi

vì hầu hết các file ảnh sử dụng định dạng 8 bit

Truy vấn một file đồ hoạ

– Hàm imfinfo cho phép ta có thể nhận được thông tin về một file ảnh đượctrợ giúp bởi toolbox

Cú pháp: imfinfo(filename,fmt)

Các thông tin được cung cấp bởi hàm imfinfo là: filename, filemodedate,filesize, format, formatversion, width, height, bitdepth, colortype … Thôngtin mà ta nhận được phụ thuộc vào kiểu của file nhưng nó luôn bao gồmnhững thông tin sau: Tên của file ảnh, định dạng fiel ảnh, số version của địnhdạng file, ngày sửa đổi gấn nhất, kích thước file tính theo byte, chiều rộngảnh tính theo pixel, chiều cao ảnh tính theo pixel, số lượng bit trên 1 pixel,kiểu ảnh,

Hiển thị ảnh

Trang 14

• Dùng hàm imview

– Để hiển thị một ảnh sử dụng hàm imview, dùng hàm imview, chỉ rõ ảnh mà

ta muốn hiển thị Ta có thể sử dụng imview để hiển thị một ảnh mà đã đượcnhập vào trong không gian làm việc của Matlab

– Nếu ta gọi hàm imview mà không chỉ ra mất kì tham số nào, nó sẽ hiển thịmột hộp chọn file cho phép ta chỉ ra tên file muốn hiển thị

• Xem nhiều ảnh

– Nếu ta chỉ ra một file mà chứa nhiều ảnh, hàm imview chỉ hiển thị ảnh đầutiên trong file đó Để xem tất cả các ảnh trong file, sử dụng hàm imread đểnhập mỗi ảnh vào trong không gian làm việc của Matlab sau đó gọi hàmimview nhiều lần để hiển thị mỗi ảnh riêng biệt

• Dùng hàm imshow

– Để xem ảnh, ta có thể sử dụng hàm imshow thay cho imview Ta sử dụngimshow để hiển thị một ảnh đã được nhập vào trong không gian làm việc nhưví dụ sau:

Trang 15

bằng cách sử dụng hàm getimage Hàm này sẽ nhận dữ liệu ảnh từ handlecủa một đối tượng ảnh hiện tại Chẳng hạ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 kiểu ảnh

Với các thao tác nhất định sẽ thật hữu ích khi có thể chuyển đổi ảnh từ dạngnày sang dạng khác Chẳng hạn, nếu ta muốn lọc một màu ảnh được lưu trữdưới dạng ảnh chỉ số đầu tiên ta nên chuyển đổi nó thành dạng ảnh RGB.Khi ta áp dụng phép lọc tới ảnh RGB, Matlab sẽ lọc giá trị cường độ trongảnh tương ứng Nếu ta cố gắng lọc ảnh chỉ số, Matlab đơn giản chỉ áp đặtphép lọc tới ma trận ảnh chỉ số và kết quả sẽ không có ý nghĩa

– Danh sách sau đây sẽ liệt kê các hàm được sử dụng trong việc chuyển đổikiểu ảnh:

 dither: Tạo một ảnh nhị phân từ một ảnh cường độ đen trắng bằngcách trộn, tạo một ảnh chỉ số từ một ảnh RGB bằng cách trộn (dither)

 gray2id: Tạo một ảnh chỉ số từ một ảnh cường độ đen trắng

 grayslice: Tạo một ảnh chỉ số từ một ảnh cường độ đen trắngbằng cách đặt ngưỡng

 im2bw: Tạo một ảnh nhị phân từ một ảnh cường độ, ảnh chỉ sốhay ảnh RGB trên cơ sở của ngưỡng ánh sáng

 ind2gray: Tạo một ảnh cường độ đen trắng từ một ảnh chỉ số

 ind2rgb: Tạo một ảnh RGB từ một ảnh chỉ số

 mat2gray: Tạo một ảnh cường độ đen trắng từ dữ liệu trong một

ma trận bằng cách lấy tỉ lệ giữ liệu

 rgb2gray: Tạo một ảnh cường độ đen trắng từ một ảnh RGB

 rgb2ind: Tạo một ảnh chỉ số từ một ảnh RGB

– Ta cũng có thể thực hiện các phép chuyển đổi kiểu chỉ sử dụng cú pháp củaMatlab Chẳng hạn, ta có thể chuyển đổi một ảnh cường độ sang ảnh RGBbằng cách ghép nối 3 phần copy của ma trận ảnh gốc giữa 3 chiều:

RGB = cat(3,I,I,I);

Trang 16

– Ảnh RGB thu được có các ma trận đồ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 xám.

– Thêm vào những công cụ chuyển đổi chuẩn đã nói ở trên, cũng có một sốhàm mà trả lại kiểu ảnh khác như một phần trong thao tác mà chúng thựchiện

• Chuyển đổi không gian màu

– Toolbox xử lý ảnh biểu diễn màu sắc như các giá trị RGB ( trực tiếp trongảnh RGB hoặc gián tiếp trong ảnh chỉ số ) Tuy nhiên, có các phương phápkhác cho việc biểu diễn màu sắc Chẳng hạn, một màu có thể được đại diệnbởi các giá trị hue, saturation và các giá trị thành phần (HSV) Các phươngpháp khác cho việc biểu diễn màu được gọi là không gian màu

– Toolbox cung cấp một tập các thủ tục để chuyển đổi giữa các không gianmàu Các hàm xử lý ảnh tự chúng coi dữ liệu màu sắc dưới dạng RGB tuynhiên, ta có thể xử lý một ảnh mà sử dụng các không gian màu khác nhaubằng cách chuyển đổi nó sang RGB sau đó chuyển đổi ảnh đã được xử lý trởlại không gian màu ban đầu

c Chuyển đổi định dạng các file ảnh

Để thay đổi định dạng đồ hoạ của một ảnh, sử dụng hàm imread để đọc mộtảnh và sau đó lưu nó với hàm imwrite đồng thời chỉ ra định dạng tương ứng.– Để minh hoạ, ví dụ sau đây sử dụng hàm imread để đọc một file BMP vàokhông gian làm việc.Sau đó, hàm imwrite lưu ảnh này dưới định dạng PNGBitmap = imread(‘mybitmap.bmp’,’bmp’);

Imwrite(bitmap,’mybitmap.png’,’png’);

d Số ảnh học

Số học ảnh sự ứng dụng của các phép toán số học chuẩn như: cộng, trừ,nhân, chia lên ảnh Số học ảnh được sử dụng nhiều trong xử lý ảnh trong cảcác bước ban đầu lẫn các thao tác phức tạp hơn Chẳng hạn, trừ ảnh có thểđược sử dụng để phát hiện sự khác nhau giữa hai hoặc nhiều ảnh của cùngmột cảnh hoặc một vật

Trang 17

– Ta có thể thực hiện số học ảnh sử dụng các toán tử số học của Matlab.Toolbox xử lý ảnh bao gồm một tập hợp các hàm ứng dụng các phép toán sốhọc trên tất cả các con số không lấp đầy Hàm số học của toolbox chấp nhậnbất kì kiểu dữ liệu số nào bao gồm uint8, uint16 hay double và trả lại ảnh kếtquả trong cùng định dạng Các hàm thực hiện các phép toán với độ chính xáckép trên từng phần tử nhưng không chuyển đổi ảnh tới giá trị chính xác képtrong không gian làm việc của Matlab Sự tràn số được điều khiển tự động.Hàm sẽ cắt bỏ giá trị trả về để vừa với kiểu dữ liệu.

• Luật cắt bỏ trong số học ảnh

– Kết quả của số học nguyên có thể dễ dàng tràn số dùng cho lưu trữ Chẳnghạn, giá trị cực đại ta có thể lưu trữ trong uint8 là 255 Các phép toán số họccó thể trả về giá trị phân số – không được biểu diễn bởi một chuỗi số nguyên.– Các hàm số học ảnh sử dụng những luật này cho số học nguyên:

+ Giá trị vượt quá khoảng của kiểu số nguyên bị cắt bỏ tới khoảng đó

+ Giá trị phân số được làm tròn Chẳng hạn, nếu dữ liệu có kiểu uint8, kếtquả trả về nếu lớn hơn 255 ( bao gồm Inf ) thì được gán là 255

Lời gọi lồng nhau tới hàm số học ảnh

– Ta có thể sử dụng các hàm số học ảnh kết hợp để thực hiện một chuỗi cácphép toán Chẳng hạn để tính giá trị trung bình của hai ảnh:

Trang 18

tất cả các phép toán số học trong sự kết hợp tuyến tính của độ chính xác kép

và chỉ cắt bỏ kết quả cuối cùng:

K = imlincomb(.5,I,.5,I2);

• Biến đổi không gian ảnh

Biến đổi không gian ảnh là thực hiện ánh xạ giữa vị trí các pixel trong ảnhvào với các pixel trong ảnh ra

• Bảng thuật ngữ

Aliasing : Răng cưa – xuất hiện khi giảm kích thước ảnh Khi kích thước củamột ảnh bị giảm, các pixel gốc bị lấy mẫu giảm để tạo ra ít pixel hơn.Aliasing xảy ra như kết quả của việc giảm kích thước ảnh thường xuất hiệndưới dạng bậc thang ( đặc biệt trong các ảnh có độ 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 pixel ra được tính toán từ giá trị trungbình của 4×4 pixel lân cận

Bilinear interpolation : Gía trị của pixel ra được tính toán từ giá trị trung bìnhcủa 2×2 pixel lân cận

Geometric operation : Một thao tác sửa đổi quan hệ hình học gữa các pixeltrong một ảnh Chẳng hạn thay đổi kích thước ảnh, quay ảnh và xén ảnhInterpolation : Quá trình được sử dụng để ước lượng giá trị ảnh ở một vị trígiữa các pixel

Nearest-neighbor interpolation : Các giá trị pixel ra được gán giá trị của pixelnằm trong một vùng gần pixel đó

• Nội suy

Nội suy là quá trình sử dụng để ước lượng một giá trị ảnh ở một vị trí giữacác pixel Chẳng hạn, nếu ta thay đổi kích thước một ảnh, nó sẽ chứa nhiềupixel hơn ảnh gốc, toolbox sử dụng sự nội suy để tính giá trị cho các pixelthêm vào Hàm imresize và imrotate sử dụng nội suy hai chiều để thực hiệnthao tác của mình Hàm improfile cũng sử dụng sự nội suy hoá

Các phương pháp nội suy

Trang 19

– Toolbox sử lý ảnh cung cấp 3 cách nội suy hoá

+ Nội suy các pixel 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ỗitrường hợp, để tính giá trị của một pixel đã được nội suy, chúng tìm điểmtrong ảnh ra mà pixel nằm tại đó Sau đó, chúng gán một giá trị tới các pixel

ra bằng cách tính toán giá trị trung bình có trọng số của một số pixel lân cận.Trọng số dựa trên cơ sở khoảng cách tới điểm đang xét

– Các phương pháp này khác nhau ở tập các pixel mà chúng xem xét:

+ Với nội suy các pixel gần nhất: pixel ra được gán giá trị của các pixel ởgần nó nhất Các pixel khác không được xem xét

+ Nội suy song tuyến tính, giá trị của pixel ra là giá trị trung bình theo trọng

số của 2×2 pixel lân cận

+ Nội suy song khối: giá trị của pixel ra là trung bình có trọng số của 4×4pixel lân cận

Số lượng các pixel được xem xét ảnh hưởng đến độ phức tạ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 pixel lớn hơn, độ chính xác sẽ tốt hơn

CHƯƠNG 2 MÃ VẠCH TRÊN SẢN PHẨM

1.4 Lịch sử hình thành và phát triển mã vạch

Để thuận lợi và nâng cao hiệu quả trong bán và quản lý sản phẩm, nhà sản xuấtthường in trên hàng hoá một loại mã hiệu đặc biệt gọi là mã số mã vạch Mã số

mã vạch là một trong những công nghệ nhận dạng và thu thập dữ liệu tự độngdựa trên nguyên tắc: đặt cho đối tượng cần quản lý một dãy số (hoặc dãy chữ và

Trang 20

số), sau đó thể hiện dưới dạng mã vạch để máy quét có thể đọc được Trongquản lý hàng hóa người ta gọi dãy số và dãy vạch đó là mã số mã vạch của hànghóa.

Mã số mã vạch đầu tiên được chế tạo và đưa vào sử dụng trên thế giới từ nhữngnăm thập kỷ 70 của thế kỷ 20 Do yêu cầu phát triển sản xuất và kinh doanhthương mại, công nghệ mã số mã vạch ngày càng được nghiên cứu hoàn thiện,phát triển và được dụng rộng rãi trong đa ngành kinh tế và trên toàn thế giới.Năm 1973 tổ chức MSMV đầu tiên được thành lập, đó là Hội đồng mã thốngnhất của My (viết tắt tên tiếng Anh là UCC)

Năm 1977, Hội mã số vật phẩm Châu âu (EAN) ra đời do sáng kiến của 12nước Châu Âu, đến năm 1984 đổi thành EAN International, là một tổ chức philợi nhuận, hoạt động trên cơ sở trung lập với mục đích chính là đẩy mạnh ápdụng hệ thống EAN trên toàn cầu trong tất cả các ngành kinh tế - xã hội nhằmcung cấp ngôn ngữ chung cho thương mại quốc tế (đặc biệt là thương mại điệntử .)

Từ năm 2005, hai tổ chức EAN International và UCC hợp nhất thành một tổchức phân định toàn cầu có tên là GS1

1.5 Mã vạch là gì?

Mã số hàng hóa( Article Number Code) là dãy chữ số nguyên, trong đó có các nhóm

số để biết được xuất xứ của hàng hóa, một nhóm số để biết được doanh nghiệp sảnxuất, một nhóm số thể hiện loại hàng hóa, và một nhóm số thể hiện số kiểm tra hànghóa

Một mã số hàng hóa có 2 tính chất cơ bản:

+ Con số duy nhất đặc trưng cho hàng hóa, mỗi loại hàng hóa được nhận diện bởi 1dãy số duy nhất và ngược lại mỗi dãy số chỉ tương ứng với một loại hàng hóa.+ Mã số chỉ là dãy số đại diện cho hàng hóa chứ không liên quan đến đặc điểm haychấ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ủahàng hóa chỉ được nhà cung cấp lưu lại trên hệ thống của cửa hàng

Trang 21

Mã vạch hàng hóa (Barcode) là hình ảnh tập hợp ký hiệu các vạch đen trắng, đậm,nhạt, dài, ngắn, thành nhóm vạch và định dạng khác nhau để cá máy đọc đầu gắnlaser hoặc camera ghi nhận hình ảnh có thể đọc được các ký hiệu này.

1.1.1 Phân loại mã vạch

Mã số mã vạch gồm nhiều loại khác nhau, tùy theo dung lượng thông tin, dạngthông tin đuộc mã hóa cũng như mục đích sử dụng mà người ta chia làm nhiều loại.Hiện nay trong nền thương mại thế giới người ta chủ yếu áp dụng 2 loại mã vạch

- Mã vạch UPC (Universal Product Code)

UPC là một loại ký hiệu mã số được ngành công nghiệp thực phẩm ứng dụng vàonăm 1973 và thuộc quyền quản lý của Hội đồng mã thống nhất My UCC (UniformCode Council, Inc.) Mã UPC gồm 2 thành phần chính: phần mã vạch mà máy cóthể đọc được và phần mã số mà con người có thể đọc được, gồm 12 ký số, khôngbao gồm ký tự Mã UPC vẫn còn đang sử dụng ở Hoa Kỳ và Bắc My

Hình 2-1: Ví dụ mã vạch UPC

- Mã vạch EAN (European Article Number)

EAN là bước phát triển kế tiếp của UPC Hệ thống mã EAN được thiết lập bởicác nhà sáng lập là 12 nước châu Âu được sử dụng từ năm 1974 và sau đó pháttriển nhanh chóng và được sử dụng hầu hết tại các nước trên thế giới Chính vìvậy từ năm 1977, EAN trở thành một tổ chức quốc tế với tên gọi EAN quốc tế(EAN International) Mã vạch EAN gồm các vạch tối và sáng (khoảng trắng)được tạo bởi các modun có độ rộng, độ sáng hoặc độ tối thống nhất

Trang 22

Mã vạch EAN, mỗi số được thể hiện bằng 7 modun gồm các vạch thể hiện số

và các vạch phụ cấu tạo từ một số modun nhất định: vạch giữa, 2 vạch biên và

mã vạch

Mỗi giá trị số được thể hiện trong mã vạch bằng 7 modun theo 3 bộ mã A,B,C như trong bảng sau:

Bảng 2-1: Giá trị số 0-9 theo bộ mã A,B,C

Giá trị số Bộ mã A Bộ mã B Bộ mã C

Kích thước danh định của mã vạch EAN:

Theo kích thước chuẩn độ rộng của mỗi modun là 0.33mm NHư vậy kích thước cụthể của các loại mã vạch:

Mỗi chữ số : 7 modun = 2.31 mm

Vạch biên: 3 modun = 0.99 mm

Vạch giữa: 5 modun = 1.65 mm

Trong hệ thống mã số EAN cho sản phẩm bán lẻ thường có hai loại, một loại sửdụng 13 con số (EAN-13) và loại kia sử dụng 8 con số (EAN-8)

Mã số EAN-13 gồm 13 con số, từ trái sang phải:

+ Mã quốc gia gồm 2 hoặc 3 con số đầu

Trang 23

+Mã doanh nghiệp gồm từ 4,5 hoặc 6 con số do tổ chức mã số vật phẩm quốc gaicấp cho các nhà sản xuất là thành viên của họ.

+ Mã mặt hàng có thể là 5, 4 hoặc 3 con số tùy thuộc vào mã doanh nghiệp, Mã này

do nhà sản xuất quy định, đảm bảo mỗi sản phầm chỉ có một mã số

+ Mã kiểm tra là số cuối cùng của dãy mã số, được tính dựa vào 12 con số trước đó,dùng để kiểm tra việc ghi đúng những con số nói trên

Hình 2-2: Mã vạch EAN-13

Tổng số modun trong mã vạch EAN-13 là:

12 số x 7 modun = 84

2 vạch biên x 3 modun = 6

Vạch giữa x5 modun = 5

Tổng cộng có 95 modun => độ rộng danh định là 31.35 mm

Cách tính mã kiểm tra C

Bước 1: Từ trái sang phải, cộng tất cả các sô ở vị trí lẻ ( trừ số kiểm tra C)

Bước 2: Nhân kết quả bước 1 với 3

Bước 3: Cộng giá trị của các con số sòn lại

Bước 4: Cộng kết quả bước 2 với bước 3

Bước 5: Lấy bội số của 10 lớn hơn và gần kết quả bước 4 nhất trù đi kết quả bước 4được số kiểm tra C

Tương tự như EAN-13, mã EAN-8 cũng có quy định về cấu tạo mã vạch như sau:+ Mã quốc gia gồm 3 con số đầu

+ Mã mặt hàng gồm 4 con số tiếp theo

+Mã kiểm tra là con số cuối cùng

Ngày đăng: 21/01/2018, 16:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w