Tải bản đầy đủ (.doc) (57 trang)

Dùng Matlab nhận dạng trạng thái đèn giao thông là màu gì

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.01 MB, 57 trang )

Đồ Án 2B Mô Hình Xe Thông Minh
TÓM TẮT NỘI DUNG ĐỒ ÁN
1. NỘI DUNG
 Dùng Matlab nhận dạng trạng thái đèn giao thông là màu gì. Để
nhận biết được màu sắc của đèn giao thông cần trải qua 2 bước:
Bước 1: Tách biên dạng hình tròn của đèn giao thông.
Bước 2: Nhận dạng màu sắc của đèn giao thông trong biên
hình tròn đó.
 Từ Matlab xuất tín hiệu ra Vi Xử Lý (thông qua cổng COM) để
điều khiển xe.
2. KẾT QUẢ ĐẠT ĐƯỢC
 Tìm hiểu về các bộ tách biên và sử dụng bộ tách biên Sobel để
tách được biên của đèn giao thông.
 Nhận dạng được màu sắc của đèn giao thông (xanh, đỏ).
 Xuất được tín hiệu từ Matlab ra cổng COM để điều khiển Vi Xử
Lý rồi từ Vi Xử Lý điều khiển xe (đèn xanh xe chạy, đèn đỏ xe dừng).
3. HẠN CHẾ
Xe chạy được khoảng cách không xa chỉ khoảng 4m.
Trang 1
Đồ Án 2B Mô Hình Xe Thông Minh
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................


........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Ngày……tháng……năm……..
Giáo viên hướng dẫn
Ký tên
Trang 2
Đồ Án 2B Mô Hình Xe Thông Minh
NHẬN XÉT CỦA HỘI ĐỒNG GIÁM KHẢO
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................

........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Ngày……tháng……năm……..
Hội đồng
Ký tên
Trang 3
Đồ Án 2B Mô Hình Xe Thông Minh
LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn tất cả các thầy cô trường Đại Học
Công Nghiệp TP Hồ Chí Minh đã dạy dỗ, chỉ bảo chúng em trong suốt thời
gian qua.
Chúng em xin chân thành cảm ơn thầy Trần Văn Trinh đã tận tình
hướng dẫn chúng em trong thời gian làm Đồ Án 2B.
Chúng tôi xin cảm ơn tất cả bạn bè đã giúp đỡ và cùng chúng tôi
nghiên cứu học tập.
Nhóm sinh viên thực hiện:
Lê Văn Hoan
Nguyễn Thành Luân

Trang 4
Đồ Án 2B Mô Hình Xe Thông Minh
MỤC LỤC
PHẦN A: LÝ THUYẾT TỔNG QUAN..................Trang 9
CHƯƠNG I: THUẬT TOÁN TÁCH BIÊN VÀ NHẬN
DẠNG MÀU ..................……………………………………………...10
1. Giới thiệu về các bộ tách biên …………………………………….10

1.1. Cơ sở của việc tách biên………………………………………….10
1.2. Bộ tách biên Sobel………………………………………………..12
1.3. Bộ tách biên Canny……………………………………………….14
1.4. Bộ tách biên Prewitt………………………………………………16
1.5. Bộ tách biên Roberts……………………………………………...17
1.6. Bộ tách biên Laplace của hàm Gauss……………………………..17
2. Phương pháp nhận dạng màu…………………………………….18
2.1 Mô hình màu RGB………………………………….……………..18
2.2 Mô hình màu CMY…….………………………………………….19
2.3 Mô hình màu CYMK……………………………………………...19
2.4 Mô hình màu HSV………………………………………………...20
2.5 Các kỹ thuật tái hiện ảnh………………………………………......20
CHƯƠNG II: TÌM HIỂU CHUNG VỀ PHẦN MỀM
MATLAB……………………………………………………................22
1. Tạo giao diện người dùng nhờ công cụ GUIDE của
MATLAB………………………………………………………………..22
2. Toolbox bắt ảnh…………………………………………..................25
2.1. Nhiệm vụ của Toolbox…………………………………………...25
2.2. Các bước thu thập ảnh cơ bản của Toolbox………………….......25
3. Toolbox xử lý ảnh…………………………………………………...28
3.1. Các loại ảnh trong MATLAB…………………………………….28
3.1.1. Ảnh chỉ số………………………………………………….29
3.1.2. Ảnh biểu diễn theo độ sáng………………………………..29
3.1.3. Ảnh nhị phân………………………………………………30
3.1.4. Ảnh RGB…………………………………………………..30
Trang 5
Đồ Án 2B Mô Hình Xe Thông Minh
3.2. Các hàm xử lý ảnh cơ bản trong MATLAB……………………...31
3.2.1. Đổi màu và loại ảnh……………………………………….31
3.2.2. Xử lý hình học……………………………………………..32

3.2.3. Lọc nhiễu…………………………………………………..32
3.2.4. Phân tích ảnh………………………………………………32
3.2.5. Biến đổi ảnh………………………………………………..32
CHƯƠNG III: SƠ LƯỢC CƠ CHẾ HOẠT ĐỘNG CỦA
MÔ HÌNH XE THÔNG MINH………………............................33
1. Sơ đồ tổng quát……………………………………………………...33
2. Cơ chế hoạt động……………………………………………………33
CHƯƠNG IV: SƠ ĐỒ NGUYÊN LÝ VÀ NGUYÊN LÝ
HOẠT ĐỘNG CỦA MẠCH……………………………………...34
1. Sơ đồ nguyên lý……………………………………………………...34
2. Nguyên lý hoạt động………………………………………………..34
PHẦN B: PHẦN MỀM ĐIỀU KHIỂN MÔ HÌNH
XE THÔNG MINH…………………………………………..36
1. Lưu đồ giải thuật………………………………………………..37
2. Qúa trình xử lý ảnh…………………………………………………38
2.1. Xử lý video giao tiếp qua Webcam chụp lại ảnh trên mô hình…...38
2.2. Chuyển ảnh màu dạng RGB thành ảnh mức xám………………...39
2.3. Tách biên và loại bỏ các thành phần nhiễu……………………….40
2.4. Làm phẳng nhị phân và lấp đầy các lỗ trống……………………..41
2.5. Xác định trọng tâm, biên, tính khoảng cách………………………41
2.6. Xác định màu của đèn giao thông………………………………...42
2.7. Cửa sổ giao diện…………………………………………………..43
PHẦN C: KẾT LUẬN…………………………………….....44
PHẦN D: PHỤ LỤC…………………………………………46
1. Code của Callback………………………………………………….47
2. Chương trình giao tiếp với vi xử lý……………………………….55
Trang 6
Đồ Án 2B Mô Hình Xe Thông Minh
3. Tài liệu tham khảo………………………………………………….56
Trang 7

Đồ Án 2B Mô Hình Xe Thông Minh
LỜI MỞ ĐẦU
Hiện nay đất nước ta đang chuyển mình theo sự phát triển chung của
thế giới bằng việc Việt Nam đã gia nhập tổ chức kinh tế thế giới WTO.
Đây là một bước ngoặt quan trọng nhằm thúc đẩy nền kinh tế nước ta phát
triển sánh vai với các cường quốc năm châu.Với tốc độ phát triển như hiện
nay chúng ta không chỉ cần một lượng lao động khổng lồ mà còn đòi hỏi có
trình độ, chất lượng tay nghề, kỹ thuật lao động và thiết bị sản xuất. Mức
độ phát triển của khoa học kỹ thuật ngày càng cao thì vấn đề tự động hoá
ngày càng được chú trọng.
Những năm gần đây MATLAB và các Toolbox kèm theo đã trở thành
công cụ không thể thiếu của các cán bộ nghiên cứu giảng dạy, sinh viên đại
học, cao học và nghiên cứu sinh thuộc các ngành khoa học kỹ thuật nước
ta. Điều này có được là do MATLAB cung cấp một công cụ tính toán và
lập trình bậc cao dễ sử dụng hiệu quả và thân thiện với người dùng.
MATLAB cung cấp cho người sử dụng các phương thức để thực hiện các
mô phỏng trên máy tính, ngoài ra MATLAB còn có thể giao tiếp với Vi Xử
Lý, PLC,…cùng với các thiết bị phần cứng để thực hiện các ứng dụng vào
thực tế. Vì vậy trong phạm vi hiểu biết của mình, chúng em đã tìm hiểu và
thực hiện đề tài “Mô hình xe thông minh”. Đây là sự kết hợp giữa
MATLAB và Vi Xử Lý để điều khiển xe không người lái (xe thông minh).
Trong quá trình thực hiện Đồ Án 2B cùng với sự nỗ lực của bản thân
và áp dụng những kiến thức được trang bị ở trường, chúng em đã có nhiều
cố gắng để thực hiện tốt Đồ Án. Tuy nhiên do kiến thức và khả năng còn có
hạn nên khó tránh khỏi những thiếu sót. Chúng em rất mong nhận được sự
thông cảm và đóng góp ý kiến của các thầy cô trong hội đồng giám khảo để
Đồ Án của chúng em được hoàn chỉnh hơn. Xin chân thành cảm ơn.
TP. Hồ Chí Minh, ngày 03 tháng 11 năm 2010
Nhóm sinh viên thực hiện:


Lê Văn Hoan
Nguyễn Thành Luân
Trang 8
Đồ Án 2B Mô Hình Xe Thông Minh
Trang 9
Đồ Án 2B Mô Hình Xe Thông Minh
CHƯƠNG I
THUẬT TOÁN TÁCH BIÊN VÀ NHẬN DẠNG
MÀU
1. GIỚI THIỆU VỀ CÁC BỘ TÁCH BIÊN
1.1. Cơ sở của việc tách biên
Biên là tập hợp những pixel (nằm trên đường biên giới giữa 2
vùng) liên kết với nhau. Một biên lý tưởng có các thuộc tính của mô hình ở
hình 1.1.
Hình 1.1: Mô hình biên lý tưởng
Tuy nhiên trong thực tế các yếu tố như là chất lượng của hệ thống
thu nhận hình ảnh, tốc độ lấy mẫu, điều kiện chiếu sáng của mỗi bức ảnh,
… ảnh hưởng đến chất lượng của hình ảnh. Vì vậy kết quả là biên giống
với một đoạn dốc được thể hiện trong hình 1.2.
Trang 10
Đồ Án 2B Mô Hình Xe Thông Minh
Hình 1.2: Mô hình biên trong thực tế
Vì vậy chúng ta không bao giờ có một đường biên mảnh (có độ dày
một pixel). Thay vào đó, một điểm biên bây giờ là một điểm bất kì chứa
trong đoạn dốc và biên là tập hợp những điểm liên thông. Độ dày của
đường biên được xác định bởi chiều dài của đoạn dốc, khi biên biến đổi từ
đầu đến cuối mức xám.
độ dày của biên
Hình 1.3: Mô hình miêu tả độ dày của biên
Hình 1.4 cho thấy đạo hàm bậc 1 của biên

Trang 11
Đồ Án 2B Mô Hình Xe Thông Minh
Hình 1.4: Mô hình miêu tả đạo hàm bậc 1 của biên
Từ hình vẽ ta thấy đạo hàm bậc 1 có giá trị 1 tại nơi biên được tách
và giá trị 0 tại nơi biên không được tách. Vì vậy độ lớn của đạo hàm bậc 1
có thể được sử dụng để phát hiện ra dấu hiệu của một biên tại một điểm
trong hình (nghĩa là xác định điểm đó có nằm trên dốc không).
1.2. Bộ tách biên Sobel
Bộ tách biên Sobel sử dụng mặt lạ Sobel để tính các đạo hàm bậc
nhất G
x
và G
y
,

nói cách khác đạo hàm tại điểm tâm trong một lân cận được
tính theo bộ tách Sobel
[ ]
2/12
741963
2
321987
2/1
22
})]2()2[()]2()2{[( zzzzzzzzzzzzGGg
yx
++−+++++−++=+=
Khi đó vị trí (x,y) là pixel biên nếu g ≥ T, trong đó T là một
ngưỡng được chỉ định.
Ví dụ: bw = edge (f, ‘sobel’, 10); % T = 10

imshow(bw);
Trang 12
Đồ Án 2B Mô Hình Xe Thông Minh
Để tính G
x
và G
y
ta dựa vào mặt lạ Sobel
z
1
z
4
z
7
z
2
z
3
z
6
z
9
z
8
z
5
Image neighborhood
-1 2 -1
0 0 0
11

1
-1
0
1
-2 0 2
1
0
-1
Sobel
)2()2(
321987
zzzzzzG
x
++−++=
)2()2(
741963
zzzzzzG
y
++−++=
Trang 13
Đồ Án 2B Mô Hình Xe Thông Minh
Cú pháp của bộ tách biên Sobel
[g, t] = edge (f, ‘sobel’, T, dir)
Trong đó: f là ảnh đầu vào.
g là ảnh logic chứa giá trị 1 tại những nơi biên được
tách và chứa giá trị 0 tại những nơi biên không được tách.
T =t là ngưỡng được chỉ định (T=10, 20,….).
dir là hướng cần tách biên: ‘ngang’, ‘dọc’ hoặc ‘chéo’.
Ví dụ: Ảnh chúng ta cần tách biên là một ma trận có dạng:
1 1 1

A = 0 1 1
1 1 0
Ta tính được: |G
x1
| = |3 – 4| = 1; |G
y1
| = |3 – 2| = 1
Mặt lạ Sobel: |G
x2
| = 2; |G
y2
| = 12
Khi đó G
x
= Max (G
x1
, G
x2
)
Gy = Max (Gy1, Gy2)
=> g = (2
2
+ 12
2
)
1/2
= (148)
1/2
1.3. Bộ tách biên Canny
Bộ tách biên Canny có các đặc tính cơ bản: tìm biên bằng cách tìm

các cực đại địa phương của gradient f(x,y). Gradient được tính toán dùng
đạo hàm của bộ lọc Gauss. Phương pháp dùng hai ngưỡng để tách biên
mạnh và yếu, gộp các biên yếu ở ngõ ra chỉ khi chúng được kết nối với các
biên mạnh. Do đó phương pháp này thích hợp để tách các biên yếu thực sự.
Trang 14
Đồ Án 2B Mô Hình Xe Thông Minh
Hình 1.5: Ảnh đã được tách biên
Có thể tóm tắt phương pháp tách biên bằng bộ tách biên Canny như
sau:
♦ Ảnh được làm trơn bằng cách sử dụng một bộ lọc Gauss với độ
lệch chuẩn σ để làm giảm nhiễu.
Xét hàm Gauss:
2
2
2
)(
σ
r
erh

−=
Trong đó
222
yxr
+=

σ là độ lệch chuẩn
Hàm làm trơn này khi chập với một ảnh sẽ làm mờ ảnh, độ mờ
được xác định bởi σ.
♦ Tách biên là phương pháp gián đoạn các giá trị cường độ. Sự

gián đoạn được tính bằng cách sử dụng đạo hàm bậc nhất. Đạo hàm bậc
nhất lựa chọn trong xử lý ảnh là gradient (độ dốc). Gradient của hàm 2-D
f(x,y) được định nghĩa dưới dạng vector
















=






=∇
y
f
x

f
G
G
f
y
x
Biên độ của vector này:
[ ]
( ) ( )
[ ]
2/1
22
2/1
22
//)( yfxfGGfmagf
yx
∂∂+∂∂=+=∇=∇
Trang 15
Đồ Án 2B Mô Hình Xe Thông Minh
Đặc tính cơ bản của vector gradient là các điểm của nó là những
hướng có tỷ lệ thay đổi hàm f tại toạ độ (x,y) lớn nhất. Góc xảy ra tỷ lệ thay
đổi lớn nhất là:









=

x
y
G
G
yx
1
tan),(
α
♦ Điểm biên được xác định tăng lên đến các đỉnh trong gradient
biên độ ảnh. Sau thuật toán tìm đỉnh của các đỉnh này và đặt giá trị 0 vào
tất cả các pixel không nằm trên đỉnh. Các pixel đỉnh được đặt bằng hai
ngưỡng T1 và T2. Các pixel đỉnh lớn hơn T2 được gọi là các pixel biên
“mạnh”. Các pixel đỉnh nằm giữa T1 và T2 được gọi là các pixel biên
“yếu”.
♦ Cuối cùng thuật toán thực hiện biên kết nối bằng cách kết hợp
các pixel “yếu” với các pixel mạnh.
Cú pháp của bộ tách biên Canny là:
[g, t] = edge (f, ‘canny’, T, sigma)
Trong đó: f là ảnh đưa vào để tách biên
T là một vector, T = [T1 T2]
sigma là độ lệch chuẩn có giá trị mặc định là 1
g là ảnh sau khi tách biên
1.4. Bộ tách biên Prewitt
Bộ tách biên Prewitt sử dụng mặt nạ Prewitt như hình bên dưới xấp
xỉ phương pháp số theo đạo hàm bậc nhất G
x
, G
y

.
z
1
z
4
z
7
z
2
z
3
z
6
z
9
z
8
z
5
Image neighborhood
-1 -1
0 0 0
11
1
-1
0
1
-1
0
1

1
0
-1
-1
Prewitt
Trang 16
Đồ Án 2B Mô Hình Xe Thông Minh
)()(
321987
zzzzzzG
x
++−++=
)()(
741963
zzzzzzG
y
++−++=
Cú pháp gọi hàm:
[g, t] = edge (f, ‘prewitt’, T, dir)
Tham số này đồng nhất với tham số Sobel. Bộ tách Prewitt đơn
giản hơn so với bộ tách biên Sobel nhưng nó dễ sinh ra nhiễu hơn so với bộ
tách biên Sobel. Việc tính toán các giá trị hoàn toàn giống với bộ tách biên
Sobel.
1.5. Bộ tách biên Roberts
Bộ tách biên Roberts sử dụng mặt nạ Roberts như hình bên dưới
xấp xỉ phương pháp số theo đạo hàm bậc nhất G
x
, G
y
.

0
0
-1
1
0
0
1
-1
Roberts
Cú pháp gọi hàm:
[g, t] = edge (f, ‘roberts’, T, dir)
Tham số này đồng nhất với tham số Sobel. Bộ tách Roberts là một
trong những bộ tách biên xưa nhất trong xử lý ảnh số và cũng là bộ tách
biên đơn giản nhất.
1.6. Bộ tách biên Laplace của hàm Gauss (LoG)
Xét hàm Gauss
2
2
2
)(
σ
r
erh

−=
Trong đó:
222
yxr
+=
và σ là độ lệch chuẩn. Đây là một hàm trơn

khi nó chập với một ảnh nó sẽ làm mờ ảnh. Độ mờ được xác định bởi giá
trị của σ. Toán tử Laplace của hàm này (đạo hàm bậc hai theo r).
2
2
2
4
22
2
)(
σ
σ
σ
r
e
r
rh








−=∇
Trang 17
Đồ Án 2B Mô Hình Xe Thông Minh
Với những lý do rõ ràng, hàm này gọi là toán tử Laplace của hàm
Gauss (LoG). Vì đạo hàm bậc hai là toán tử tuyến tính chập với một hàm
ảnh

)(
2
rh

giống như chập với hàm trơn và sau đó tính kết quả của toán
tử Laplace. Đây là chìa khoá khái niệm cơ bản của bộ tách LoG. Chúng ta
chập ảnh bằng
)(
2
rh

biết nó có hai tác động: làm mịn (giảm nhiễu) và nó
tính toán toán tử Laplace, làm cong một biên ảnh kép, định vị các biên sau
đó tìm các điểm giao zero giữa các biên kép. Cú pháp tổng quát là:
[g , t ] = edge(f, ‘log’, T, sigma)
Trong đó: sigma là độ lệch chuẩn, giá trị mặc định của sigma là 2,
các tham số còn lại giống phần trước. Những biên không lớn hơn T ta bỏ
qua. Nếu T không được cho hoặc rỗng, edge chọn giá trị một cách tự động.
2. PHƯƠNG PHÁP NHẬN DẠNG MÀU
Là phương pháp diễn giải các đặc tính và tác động của màu trong
ngữ cảnh nhất định. Không có mô hình màu nào là đầy đủ cho mọi khía
cạnh của màu, người ta sử dụng các mô hình màu khác nhau để mô tả các
tính chất được nhận biết khác nhau của màu.
Thí dụ:
+ Mô hình màu RGB: ánh sáng Red, Green và Blue ứng dụng
cho màn hình, TV.
+ Mô hình HSV: Nhận thức của con người.
+ Mô hình CYK: Máy in.
2.1. Mô hình màu RGB
- Mọi màu được biểu diễn bởi không gian màu RGB đều là sự pha

trộn của 3 thành phần màu cơ bản (Red, Green, Blue).
- Mô hình màu RGB được biểu diễn bởi khối lập phương với các
trục R, G, B.
Nhận xét
• Mô hình này không thể biểu diễn mọi màu trong phổ nhìn thấy
• Đủ cho các ứng dụng máy tính
Trang 18
Đồ Án 2B Mô Hình Xe Thông Minh
• Màn hình máy tính và TV sử dụng mô hình này
• Được sử dụng rộng rãi nhất
• Đơn giản
Xám hóa ảnh màu RGB:
Màu = αR + βG + χB
Thông thường người ta sử dụng công thức
màu = 0.299R + 0.587G + 0.114B
2.2. Mô hình màu CMY
- Gồm 3 thành phần màu cơ bản cyan, magenta, yellow. Là bù màu
của không gian GRB.
Mối quan hệ giữa 2 không gian: màu ban đầu + màu bổ túc =>
trắng
R + C => W
Y + B => W
M + B => W
Phương pháp pha trộn màu trong cuộc sống
2.3. Mô hình màu CMYK
Là sự mở rộng mô hình màu CMK bằng cách thêm vào thành
phần màu Black (K). Bởi vì với thành phần màu Black tinh khiết sẽ cho ta
độ tương phản cao hơn.
Mối quan hệ CMY và CMYK
K = min(C, M, Y)

C = C - K
M = M - K
Y = Y - K
Trang 19
Đồ Án 2B Mô Hình Xe Thông Minh
2.4.Mô hình màu HSV
• Thay vì chọn các phần tử RGB để có màu mong muốn, người ta
chọn các tham số màu: Hue, Saturation và Value (HSV).
• Mô hình HSV suy diễn từ mô hình RGB: hãy quan sát hình hộp
RGB theo đường chéo từ White đến Black (gốc) -> ta có hình lục giác, sử
dụng làm đỉnh hình nón HSV.
• Hue: Bước sóng gốc của ánh sáng. Trong mô hình Hue được biểu
diễn bằng góc từ 00 đến 3600
• Value: Cường độ hay độ chói ánh sáng. Value có giá trị [0, 1],
V=0 -> màu đen. Đỉnh lục giác có cường độ màu cực đại.
• Saturation: Thước đo độ tinh khiết ánh sáng gốc. S trong
khoảng [0, 1]. Biểu diễn tỷ lệ độ tinh khiết của màu sẽ chọn với độ tinh
khiết cực đại.
Nhận xét
Mô hình HSV trực giác hơn mô hình RGB. Bắt đầu từ Hue (H cho
trước và V=1, S=1). thay đổi S: Bổ sung hay bớt trắng, thay đổi V: Bổ sung
hay bớt đen cho đến khi có màu mong muốn.
2.5. Các kỹ thuật tái hiện ảnh
- Kỹ thuật tái hiện ảnh được dùng khi ta cần hiển thị lại ảnh trên
một số thiết bị vật lý không có khả năng hiện lại hết các mức xám có thật
của ảnh số: màn hình đơn sắc, máy in, máy vẽ.
∗ Kỹ thuật phân ngưỡng (Thresholding)
Kỹ thuật này đặt ngưỡng để hiển thị các tông màu liên tục. Giá trị
của ngưỡng sẽ quyết định điểm có được hiển thị hay không, và hiển thị như
thế nào.

Tái hiện 2 màu: dùng cho ảnh 256 mức xám, bản chất của
phương pháp này là ngưỡng dựa vào lược đồ xám. Ngưỡng chọn ở đây là
127.
Cho ảnh số S(M,N), khi đó
Trang 20
Đồ Án 2B Mô Hình Xe Thông Minh
Tái hiện 4 màu: Với qui định cách hiện 4 màu như sau:
∗ Kỹ thuật Dithering
Kỹ thuật này sử dụng một ma trận mẫu gọi là ma trận Dither.
- Mỗi phần tử của ảnh gốc sẽ được so sánh với phần tử
tương ứng của ma trận Dither. Nếu lớn hơn, phần tử ở đầu ra sẽ sáng và
ngược lại.
- Ma trận Dither cấp 2n sẽ được tính như sau:
Trang 21
Đồ Án 2B Mô Hình Xe Thông Minh
CHƯƠNG II
TÌM HIỂU VỀ PHẦN MỀM MATLAB
1. TẠO GIAO DIỆN NGƯỜI DÙNG NHỜ CÔNG CỤ
GUIDE CỦA MATLAB
Giao diện người dùng (graphical user interface GUI) cho phép thực
hiện các lệnh MATLAB thông qua các menu, nút nhấn,… tương tự như các
ngôn ngữ Visual Basic, Delphi. Lập trình GUI được thực hiện nhờ công cụ
GUIDE (GUI Development Environnment) hoặc bằng cách soạn thảo một
file m.
Từ >> gõ guide, cửa sổ GUIDE Quick Start xuất hiện:
Có thể chọn các mẫu giao diện thiết kế sẵn hay nhấn OK để chọn
GUI trống. Sau đây là cửa sổ biên soạn GUI:
Trang 22
Đồ Án 2B Mô Hình Xe Thông Minh
Vùng bên trái chứa danh sách thành phần của đối tượng, vùng có ô

lưới là vùng hiển thị - nơi đặt các component, bấm chuột trái vào
component muốn tạo, sau đó đưa chuột ra vùng layout nơi muốn đặt
component, bấm chuột trái dùng kỹ thuật kéo chuột để chọn kích thước
component.
Các component mà GUI cho phép là:
∗ Axes: vẽ hệ trục.
∗ Check box: là hộp kiểm tra cho phép đưa vào các chọn lựa khi
bấm chuột vào đó.
∗ Edit Text: là hộp văn bản đưa chuỗi ký tự vào đó.
∗ Frame: khung bao một vùng cửa sổ hình.
∗ List box: gồm một văn bản các mục để chọn lựa.
∗ Pop-up menu: menu sổ xuống trình bày một bảng các chọn lựa
khi nhấp chuột vào đó.
∗ Push button (nút nhấn): phát sinh một hành động nào đó khi
nhấp chuột.
∗ Radio button: tương tự như Check box nhưng chỉ chọn một.
∗ Slider (con trượt): dùng để đưa giá trị vào trong một tầm giới
hạn.
Trang 23
Đồ Án 2B Mô Hình Xe Thông Minh
∗ Static Text: dòng văn bản dùng để đặt nhãn, tiêu đề, hướng dẫn.
∗ Toggle button (nút bật): giống push button nhưng có hiển thị
trạng thái thay đổi mỗi khi nhấn.
∗ Popup Menu: tạo menu.
Bấm kép chuột vào component trong vùng layout để soạn tính chất
của component, ví dụ bấm kép chuột vào Push button sẽ hiện ra cửa sổ
Property Inspector như sau:
Cửa sổ Property Inspector có rất nhiều thuộc tính, sau đây là các
thuộc tính cơ bản nhất:
• Tag: Tên mà ta gắn cho component, ví dụ pushbutton-start.

• BackgroundColor: Màu nền của component.
• ForegroundColor: Màu chữ trên component.
• FontName, FontAngle, FontSize, FontWeight: Các đặc tính của
font chữ trên component.
• String: Văn bản hiển thị trên component. Trong trường hợp
muốn sử dụng font tiếng Việt ví dụ như VNI-Times ta có thể chọn
FontName phù hợp, nhưng thường không thể đánh trực tiếp ký tự có dấu, ta
có thể soạn văn bản tiếng Việt trong Word sau đó copy và paste vào string
Trang 24
Đồ Án 2B Mô Hình Xe Thông Minh
trong Property Inspector, lúc đó các ký tự tiếng Việt sẽ hiện ra không đúng
trên layout editor nhưng khi chạy chương trình thì sẽ hiển thị đúng.
• Enable: Cho phép component hoạt động hay không.
• Visible: Hiển thị component hay không.
Quan trọng nhất đối với các component là callback tức là các hàm
con mà file m sẽ gọi khi tác động vào component, ví dụ khi bấm chuột vào
pushbutton, togglebutton, di chuyển con trượt của slider hay khi viết văn
bản vào EditText rồi bấm Enter.
Soạn thảo các callback: ở cửa sổ soạn thảo layout editor nhấp chuột
phải vào component muốn soạn thảo sau đó chọn View Callbacks ->
callback ta sẽ vào màn hình soạn thảo callback cho component đó (Lưu ý
rằng các dòng lệnh sẽ được viết sau dòng “function tên
component_Callback (hobject, eventdata, handles)”)
Sau khi soạn thảo hoàn tất và lưu, MATLAB sẽ lưu hai file có cùng
tên nhưng khác nhau về phần mở rộng:
File có phần mở rộng .fig chứa nội dung của giao diện.
File có phần mở rộng .m chứa những đoạn mã liên quan đến
giao diện.
2. TOOLBOX BẮT ẢNH (Image Acquisition Toolbox)
2.1. Nhiệm vụ của Toolbox

Image Acquisition Toolbox là tập hợp các hàm của MATLAB có
nhiệm vụ thu thập hình ảnh số từ các thiết bị thu hình. Cụ thể là:
 Thu thập hình ảnh từ các thiết bị thu hình khác nhau, từ loại
chuyên dụng đến loại rẻ tiền như Webcam (giao tiếp USB).
 Trình chiếu (preview) luồng dữ liệu video từ thiết bị thu hình.
 Trích hình ảnh từ luồng dữ liệu video.
 Thiết lập các callback cho các sự kiện khác nhau.
 Chuyển dữ liệu hình ảnh vào không gian workspace của
MATLAB để xử lý ảnh tiếp theo.
2.2. Các bước thu thập hình ảnh cơ bản với Toolbox
Bước 1: Gắn thiết bị thu hình vào máy tính và cài đặt driver điều khiển
 Gắn thiết bị thu hình vào máy tính.
 Cài đặt driver (trình điều khiển) cho thiết bị (được cho bởi nhà
sản xuất).
 Xem thử hình ảnh video hiện trên máy tính thông qua phần
mềm của nhà sản xuất.
Trang 25

×