Tải bản đầy đủ (.pdf) (84 trang)

Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh

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 (13.19 MB, 84 trang )

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên sinh viên: Nguyễn Bảo Thiện Lớp: 48CKCD
Nghành: Công nghệ cơ-Điện tử MSSV: 48132294
Tên đề tài “Thiết kế và thi công mobile robot bám theo đối tượng dùng phương
pháp xử lý ảnh”.(phần xử lý ảnh)
Số trang: 78
Hiện vật: Mô hình mobile robot, 02 quyển báo cáo, 02 đĩa CD.

NHẬN XÉT









KẾT LUẬN:………………………………………………………………
…………………………………………………………………………………… …
………………………………………………………………………………… ……
……………………………………………………………………………… ………
…………………………………………………………
Nha Trang, ngày….tháng…năm…….
GIÁO VIÊN HƯỚNG DẪN
(Kí, ghi rõ họ tên)
PHIẾU ĐÁNH GIÁ CHẤT LƯỢNG ĐỀ TÀI TỐT NGHIỆP

Họ và tên sinh viên: Nguyễn Bảo Thiện Lớp: 48 CKCD
Nghành : Công nghệ cơ-Điện tử MSSV: 48132294


Tên đề tài “Thiết kế và thi công mobile robot bám theo đối tượng dùng phương
pháp xử lý ảnh”(phần xử lý ảnh)
Số trang: 78
Hiện vật: Mô hình mobile robot, 02 quyển báo cáo, 02 đĩa CD.
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Kết luận:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

ĐIỂM PHẢN BIỆN
Bằng số Bằng chữ

Nha Trang, Ngày… , tháng… , năm…
GIÁO VIÊN PHẢN BIỆN
(kí, ghi rõ họ tên)


ĐIỂM CHUNG

Bằng số

Bằng chữ

Nha Trang, ngày… , tháng……, năm……

CHỦ TỊCH HỘI ĐỒNG
(kí, ghi rõ họ tên)

i

MỤC LỤC
Trang
MỤC LỤC i
LỜI MỞ ĐẦU 1
TÓM TẮT NỘI DUNG ĐỒ ÁN 2
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 3
1.1 Ảnh và hệ thống xử lý ảnh 4
1.1.1 Ảnh 4
1.1.2 Hệ thống xử lý ảnh 5
1.2 Các vấn đề cơ bản trong xử lý ảnh 6
1.2.1 Biểu diễn và mô hình hoá ảnh 6
1.2.2 Tăng cường chất lượng ảnh 7
1. 2.3 Khôi phục ảnh 7
1.3 Giới thiệu Image Processing Toolbox và ứng dụng xử lý ảnh 8
1.3.1 Giới thiệu Image Processing Toolbox 8
1. 3.2 Các khái niệm và qui ước trong Image Processing Toolbox 9
1.3.2.1 Hệ toạ độ quản lý ảnh 9
1.3.2.2 Các loại ảnh trong MatLab 10
1.3.3 Một số không gian màu trong Image Processing toolbox 12
1.3.3.1 Không gian màu RGB 12
1.3.3.2 Không gian màu HSV 12
1.3.3.3 Không gian màu YCbCr 13
1.3.4 Giới thiệu các phép xử lý ảnh cơ bản trong MatLab 14
1.3.4.1 Đọc, ghi, hiển thị ảnh 14
1.3.4.2 Xử lý ảnh 14

1.4 Các bước giao tiếp nối tiếp bằng Matlab 15
1.5 Hệ ảnh vật 17
1.5.1 Phép biến đổi chiếu hình 17
CHƯƠNG 2 PHƯƠNG PHÁP VÀ NỘI DUNG NGHIÊN CỨU 20

ii

2.1 Phương pháp nghiên cứu 21
2.2 Nội dung nghiên cứu 21
2.2.1 Thu nhận ảnh 21
2.2.2 Tiền xử lý ảnh 28
2.2.2.1 Lọc tuyến tính 28
2.2.2.2 Biến đổi ảnh 29
2.2.3 Phân ngưỡng 35
2.2.4 Khử nhiễu và tách đối tượng 37
2.2.5 Xuất tín hiệu điều khiển robot 43
2.2.5.1 Trên Matlab 43
2.2.5.2 Dưới Vi điều khiển 45
2.3 Phần cứng 46
2.3.1 Kết cấu cơ khí 46
2.3.2 Mạch điều khiển 47
2.3.3 Mạch công suất 48
CHƯƠNG 3 THỰC NGHIỆM – PHÂN TÍCH KẾT QUẢ 49
3.1 Xử lý ảnh 50
3.2 Điều khiển robot 51
3.3 Các phương hướng phát triển của đề tài 51
CHƯƠNG 4 KẾT LUẬN VÀ ĐỀ XUẤT 53
4.1KẾT LUẬN 54
4.2 ĐỀ XUẤT 54
TÀI LIỆU THAM KHẢO 55

PHỤ LỤC


iii

DANH MỤC CÁC HÌNH
Hình 1: Sơ đồ khối của đồ án 2
Hình 1.1: Ảnh tương tự và Ảnh số hoá 5
Hình 1.2: Các giai đoạn chính trong hệ thống xử lý ảnh 5
Hình 1.3: Mô tả ảnh bằng ma trận điểm 6
Hình 1.4 : Hệ toạ độ điểm ảnh 9
Hình 1.6: Không gian màu RGB 12
Hình 1.7: Không gian màu HSV 13
Hình 1.8: Không gian màu YCbCr 13
Hình 1.9: Mô hình giao tiếp bằng cổng COM trong MatLab 16
Hình 1.10: Cấu tạo chính của camera 17
Hình 1.11: Ảnh của vật thể qua thấu kính 17
Hình 1.12 19
Hình 2.1: Các thành phần bên trong Image Acquisition Toolbox 21
Hình 2.2: Cửa sổ preview 24
Hình 2.4
28
Hình 2.5 30
Hình 2.6 30
Hình 2.7 31
Hình 2.8 32
Hinh 2.9 33
Hình 2.10 34
Hình 2.11 34
Hình 2.12 35

Hinh 2.13 36
Hinh 2.14 41
Hình 2.15 43
Hinh 2.16: lưu đồ điều khiển robot 44
Hình 2.17: Lưu đồ giải thuật trên vi điều khiển 45

iv

Hình 2.18 46
Hinh 2.19 46
Hình 2.20 47
Hình 2.21 48
Hình 2.22 50
Hình 2.23 50
Hình 2.24 51


1

LỜI MỞ ĐẦU
Trong thế giới cảm biến đa dạng và ngày càng phát triển, Camera có thể xem
là một loại cảm biến phức tạp và tiên tiến nhất, hình ảnh thu được từ camera chứa
đựng trong nó rất nhiều thông tin. Cũng chính vì thế mà các ứng dụng liên quan đến
camera ngày càng được chú trọng và ứng dụng vào thực tế sản xuất. Những ứng
dụng liên quan đến camera đã triển khai có thể kể đến là: kiểm tra lỗi trong dây
chuyền sản xuất ổ cứng máy tính, giám sát và điều khiển tín hiệu giao thông bằng
camera thời gian thực, các hệ thống nhận dạng người, các robot có gắn camera hoặc
gần đây là robot Asimo của công ty Honda Nhật…
Ẩn đằng sau những chiếc camera bé nhỏ và những thành tựu lớn đó là ngành
khoa học xử lý ảnh. Ngành khoa học này ngày càng phát triển và góp phần chính

trong việc thúc đẩy các ứng dụng liên quan đến camera nói riêng và khoa học kỹ
thuật nói chung.
Xử lý ảnh là một ngành khoa học còn tương đối mới mẻ so với nhiều ngành
khoa học khác. Hiện nay nó đang là một trong những lĩnh lực được quan tâm và đã
trở thành môn học chuyên ngành trong các trường đại học. Nhờ có công nghệ số
hoá hiện đại, ngày nay con người đã có thể xử lý tín hiệu nhiều chiều thông qua
nhiều hệ thống khác nhau, từ những mạch số đơn giản cho đến những máy tính song
song cao cấp.
Nhận thức được xu hướng và tầm quan trọng của công nghệ xử lý ảnh như
trên, nhóm sinh viên đã quyết định chọn thực hiện đề tài “Thiết kế và thi công
mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh”. Đối tượng
nghiên cứu tập trung vào việc sử dụng Image Acquisition Toolbox để thu thập ảnh
và Image Processing Toolbox để xử lý ảnh. Ngoài ra còn tìm hiểu giao tiếp giữa
Matlab và Vi điều khiển AVR(Atmega 32L), thiết kế giao diện GUI trên MatLab,
dùng PWM điều khiển động cơ DC…
Trong quá trình thực hiện Đồ Án cùng với sự nổ lực của bản thân và áp dụng
kiến thức được trang bị ở trườ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ó hạn nên khó tránh khỏi những thiếu sót, em
rất mong nhận được sự thông cảm và đóng góp ý kiến của quý thầy.
Nha Trang, tháng 6 năm 2010
Sinh viên thực hiện
Nguyễn Bảo Thiện

2

TÓM TẮT NỘI DUNG ĐỒ ÁN

Sau thời gian học tập và làm việc , đề tài đã hoàn thành và đã giải quyết được
những vấn đề sau:
- Nghiên cứu sử dụng Image Acquisition Toolbox trong MatLab để thu thập

ảnh từ camera.
- Nghiên cứu Image Processing Toolbox trong MatLab để xử lý ảnh và ứng
dụng vào điều khiển robot.
- Nghiên cứu dòng vi điều khiển AVR
- Thi công hoàn chỉnh một Mobile Robot gồm kết cấu cơ khí, mạch điều
khiển và chương trình điều khiển Atmega32L bằng ngôn ngữ C với phần mềm
CodeVision. Sơ đồ khối được trình bày bên dưới:

Hình 1: Sơ đồ khối của đồ án

 Qui trình làm việc của robot là dựa vào thông tin về vị trí đối tượng (1)
phản hồi từ camera (2), máy tính thu thập các khung ảnh bằng Image Acquisition
Toolbox (3). Sau quá trình xử lý các khung ảnh (4) ta được thông tin về toạ độ tâm
và khoảng cách của đối tượng. Dựa vào các thông tin này để tính toán lệnh điều
khiển, gửi thông qua cổng COM (6). Robot sẽ điều khiển các động cơ (7) để điều
chỉnh vị trí tương đối của nó so với đối tượng theo các lệnh điều khiển. Cụ thể, yêu
cầu đặt ra là điều khiển cho robot bám theo đối tượng với một khoảng cách xác
định.

3















CHƯƠNG 1
CƠ SỞ LÝ THUYẾT












4

1.1 Ảnh và hệ thống xử lý ảnh
1.1.1 Ảnh
- Tín hiệu ảnh thuộc loại tín hiệu đa chiều: toạ độ(x,y), độ sáng(

), thời
gian(t).
- Ảnh(tĩnh) không gian 2 chiều được định nghĩa là một hàm 2 biến S(x,y), với
S là giá trị biên độ(độ sáng) tại vị trí toạ độ (x,y).
+ Ảnh tương tự S(x,y):
Miền xác định (x,y) liên tục.

Miền giá trị S liên tục.
+ Ảnh số S(m,n) (ảnh tương tự được số hoá):
Miền xác định (m,n) rời rạc.
Miền giá trị S rời rạc.
- Một ảnh (bao gồm một tập các điểm ảnh) có thể xem như bao gồm tập các
ảnh con (các vùng ảnh). Thuật ngữ gọi là ROIs – vùng quan tâm (Regions of
Interest).
- Ảnh số trong không gian rời rạc thu được từ ảnh tương tự trong không gian
liên tục thông qua quá trình số hoá.
+ Ảnh tương tự được chia thành M hàng, N cột.
+ Giao của hàng và cột được gọi là: pixel (điểm ảnh)
+ Giá trị biên độ của pixel tại toạ độ nguyên (m,n) là S(m,n): là trung bình độ
sáng trong pixel đó. S(m,n) ≤ L (L số mức xám dùng biểu diễn ảnh).
- M, N thường được chọn là M=N=2
K
(K=8,9,10). L =2
B
, B là số bít mã hoá
cho độ sáng (biên độ) mỗi pixel.
- Ảnh số được biểu diễn bởi ma trận 2 chiều. Các phần tử của nó là biểu diễn
cho các pixel số hoá.
- Ta ký hiệu 1 ảnh số là S(M,N). Ta nói ảnh có độ phân giải MxN. Ký hiệu
S(m,n) để chỉ ra một phần tử ảnh.

5


Hình 1.1: Ảnh tương tự và Ảnh số hoá
1.1.2 Hệ thống xử lý ảnh
- Xử lý ảnh: Ảnh vào  Ảnh kết quả.

- Đối tượng xử lý của hệ thống ở đây là các hàm 2 biến liên tục hoặc rời rạc.
- Có thể tóm tắt hệ thống xử lý ảnh gồm các giai đoạn chính như sau:

Hình 1.2: Các giai đoạn chính trong hệ thống xử lý ảnh
+ Thu nhận ảnh: - Qua các camera (tương tự, số).
- Từ vệ tinh qua các bộ cảm ứng (Sensors).
- Qua các máy quét ảnh (Scaners).
+ Số hoá ảnh: Biến đổi ảnh tương tự thành ảnh rời rạc để xử lý bằng máy
tính: Thông qua quá trình lấy mẫu (rời rạc về mặt không gian) và lượng tử hoá (rời
rạc về mặt biên độ).
+ Xử lý số: Là một tiến trình gồm nhiều công đoạn nhỏ: Tăng cường ảnh
(Enhancement), khôi phục ảnh (Restoration), phát hiện biên (Egde Detection), phân
vùng ảnh (Segmentation), trích chọn các đặc tính (Feature Extraction)
+ Hệ quyết định: Tuỳ mục đích của ứng dụng mà chuyển sang giai đoạn khác
là hiển thị, nhận dạng, phân lớp, truyền thông…

6

1.2 Các vấn đề cơ bản trong xử lý ảnh
1.2.1 Biểu diễn và mô hình hoá ảnh
 Biểu diễn ảnh
Ảnh có thể xem là một hàm 2 biến chứa các thông tin biểu diễn của một ảnh.
Các mô hình biểu diễn ảnh cho ta một mô tả logic hay định lượng của hàm này. Dựa
vào phần tử đặc trưng của ảnh đó là pixel. Giá trị pixel có thể là một giá trị vô
hướng, hoặc là 1 vector (3 thành phần trong trường hợp ảnh màu).
Ta có thể biểu diễn ảnh bằng hàm toán học, hoặc các ma trận điểm. Trong
mô hình toán học, ảnh hai chiều được biểu diễn nhờ các hàm hai biến. Đó là
 






k l
lnkmlkSnmS ),(),(),(

với
1,0,1,0  NlnMkm

 Biểu diễn bằng hàm toán
- S: ảnh
- (m,n): Toạ độ của Pixel trong miền không gian (2D)
- S(m,n): Độ sáng (Mức xám) của pixel (m,n).
- [0-L
max
]: Thang mức xám - Vùng các mức xám được phép sử dụng. L
max

thường là 255, nghĩa là chúng ta sử dụng thang mức xám 8 bit.
255),(0


nmS

- Với
10,10  NnMm
, ta gọi đó là ảnh số M x N
 Biểu diễn bằng ma trận điểm
Hình bên dưới minh hoạ cho mô hình biểu diễn ảnh bằng một ma trận điểm.
Giá trị từng phần tử của ma trận chính là độ đậm nhạt của màu sắc hiển thị.


a) Ảnh thật 10x10; b) Ảnh được zoom; c) Mô tả ảnh bằng ma trận điểm
Hình 1.3: Mô tả ảnh bằng ma trận điểm

7

 Mô hình hoá ảnh
Mô hình cảm nhận ảnh: Là mô hình biểu diễn thông qua các thuộc tính cảm
nhận ảnh (màu sắc, cường độ sáng), các thuộc tính về thời gian, cảm nhận về phối
cảnh, bố cục.
Mô hình cục bộ: Là mô hình biểu diễn thể hiện mối tương quan cục bộ của
các phần tử ảnh (ứng dụng cho các bài toán xử lý và nâng cao chất lượng ảnh).
Mô hình tổng thể: Là mô hình biểu diễn ảnh xem ảnh như là một tập hợp
các đối tượng, và các đối tượng này có mối quan hệ không gian với nhau (ứng dụng
cho các bài toán phân nhóm và nhận dạng ảnh).
1.2.2 Tăng cường chất lượng ảnh
Mục đích: Tăng cường các thuộc tính cảm nhận, làm cho ảnh tốt lên theo
một ý nghĩa nào đó, tiện phục vụ cho các xử lý tiếp theo.
Các thao tác:
+ Thay đổi độ tương phản, thay đổi màu sắc, cường độ sáng, lọc
nhiễu, nội suy, làm trơn ảnh.
+ Các phương pháp chính:
Các phương pháp thao tác trên điểm (Point Operation)
Các thao tác không gian (Spatial Operation)
1. 2.3 Khôi phục ảnh
Mục đích: Khôi phục lại ảnh ban đầu, loại bỏ các biến dạng ra khỏi ảnh tuỳ
theo nguyên nhân gây ra biến dạng.

 





 )),((),(),;,(),( yxddfyxhyxg


),( yx

là hàm biểu diễn nhiễu cộng.
),(


f
là hàm biểu diễn đối tượng.

8

),( yxg
là ảnh thu nhận.
),;,(


yxh
là đáp ứng của hệ thống, còn gọi là hàm tán xạ điểm (Point Spread
Function- PSF).
Một vấn đề khôi phục ảnh tiêu biểu là tìm một xấp xỉ của
),(


f

khi PSF có
thể đo lường hay quan sát được, ảnh mờ và các tính chất xác suất của quá trình
nhiễu.
Các thao tác: lọc nhiễu, giảm độ méo …
Các phương pháp: lọc ngược, lọc thích nghi(Wiener), khôi phục ảnh từ các
hình chiếu.
1.2.4 Nhận dạng
Nhận dạng ảnh là quá trình liên quan đến mô tả đối tượng mà người ta muốn
đặc tả nó. Thường đi sau quá trình trích chọn các đặc tính của đối tượng.
Có 2 kiểu mô tả đối tượng:
+ Mô tả theo tham số (nhận dạng theo tham số).
+ Mô tả theo cấu trúc (nhận dạng theo cấu trúc).
Ứng dụng: nhận dạng đối tượng, mặt, vân tay, văn bản…Mạng nơron là một
kỹ thuật mới đang được áp dụng vào nhận dạng và cho kết quả khả quan.
1.3 Giới thiệu Image Processing Toolbox và ứng dụng xử lý ảnh
1.3.1 Giới thiệu Image Processing Toolbox
Image Processing Toolbox là một tập hợp các hàm của phần mềm MatLab
liên quan đến xử lý ảnh số. Toolbox này hỗ trợ rất nhiều hàm xử lý ảnh khác nhau
trên nhiều loại ảnh khác nhau. Các phép xử lý ảnh bao gồm:
 Các phép biến đổi ảnh theo không gian (spatial image transformations)
 Các phép biến đổi hình thái ảnh (morphological operations)
 Các phép xử lý lân cận và xử lý khối (neighborhood and block operations)
 Lọc tuyến tính và thiết kế bộ lọc ảnh (linear filtering and filter design)
 Các phép biến đổi ảnh thông qua hàm truyền (transforms)
 Phân tích và tăng cường chất lượng ảnh (image analysis and enhancement)

9

 Nhận dạng ảnh (image registration)
 Chống mờ (deblurring)

 Tạo vùng ảnh xử lý (region of interest operations – vùng quan tâm)
1. 3.2 Các khái niệm và qui ước trong Image Processing Toolbox
1.3.2.1 Hệ toạ độ quản lý ảnh
 Hệ toạ độ điểm ảnh:
Nhìn chung, hệ toạ độ điểm ảnh là cách định vị điểm ảnh của một ảnh thuận
lợi nhất. Trong hệ trục toạ độ này, ảnh được xem như một mảng các phần tử rời rạc
được đánh số thứ tự từ trên xuống dưới và từ trái sang phải, như hình bên dưới:

Hình 1.4 : Hệ toạ độ điểm ảnh
Trong hệ trục toạ độ điểm ảnh, trục đầu tiên là trục r (số lượng hàng) tăng
dần từ trên xuống, và trục còn lại là c (số cột) tăng dần từ trái sang phải. Các phần
tử trong hệ trục có kiểu số integer, được đánh số từ 1 trở đi.
Sự tương ứng một-một giữa hệ toạ độ điểm ảnh và hệ toạ độ ma trận làm mối
quan hệ giữa dữ liệu trên ma trận và ảnh hiển thị dễ biểu diễn và dễ hiểu. Ví dụ, dữ
liệu màu sắc của điểm ảnh tại hàng 5 cột 2 tương ứng với giá trị của phần tử (5,2)
của ma trận.

10

 Hệ toạ độ không gian:
Trong hệ trục toạ độ điểm ảnh, mỗi điểm ảnh được xem như là một phần tử
rời rạc, và được định vị duy nhất bằng một toạ độ, dạng (5, 2). Theo lối này, vị trí
dạng (5.3, 2.2) không có nghĩa.
Tuy nhiên, đôi khi cũng cần xem điểm ảnh là một miếng vuông (có diện tích)
nhỏ. Hiểu theo nghĩa này thì toạ độ (5.3,2.2) có nghĩa và phân biệt với điểm (5,2).
Trong hệ toạ độ không gian, toạ độ của điểm ảnh được định vị trên một mặt phẳng
liên tục với hai thành phần toạ độ là x và y (không phải r và c như hệ toạ độ điểm)
Hình bên dưới là hệ toạ độ không gian của ảnh. Lưu ý trục y tăng dần từ trên
xuống dưới.


Hình 1.5: Hệ toạ độ không gian

1.3.2.2 Các loại ảnh trong MatLab
Image Processing Toolbox định nghĩa 4 kiểu ảnh như bảng tóm tắt bên dưới.
Các định nghĩa này qui định cách MatLab tổ chức “thông tin hình ảnh” trên ma trận.
Bảng bên dưới giải thích cụ thể hơn về từng loại ảnh.

11

Loại ảnh Giải thích
Nhị phân (binary còn gọi là
bilevel)
Mảng nhị phân có thứ tự với giá trị của phần tử chỉ
là 0 hoặc 1 tương ứng với hai màu đen và trắng
trên ảnh.
Chỉ thị (indexed còn gọi là
ảnh giả màu – pseudocolor
image)
Mảng có kiểu dữ liệu nhị phân, uint8, uint16,
single, hoặc kiểu double. Giá trị của phần tử ma
trận là giá trị của bảng màu (colormap). Bảng màu
là một mảng m-by-3 với kiểu dữ liệu double.
Đối với mảng kiểu single hoặc kiểu double, giá trị
integer nằm trong khoảng [1,p]. Với mảng kiểu nhị
phân, uint8 hoặc uint16, giá trị này nằm trong
khoảng [1,p-1].
Trắng đen (grayscale – còn
gọi là intensity – ảnh mật độ,
gray scale - ảnh màu xám
hoặc gray level - ảnh mức

xám)
Mảng kiểu uint8, uint16, int16, single hoặc double.
Giá trị dữ liệu tại một điểm ảnh xác định độ đậm
của màu.
Với mảng kiểu single hoặc kiểu double, giá trị của
điểm ảnh nằm trong khoảng [0,1]. Với kiểu uint8,
khoảng giá trị là [0,255], với kiểu uint16:
[0,65535], với kiểu int16: [-32768,32767].
Ảnh màu (truecolor – còn gọi
là ảnh RGB)
Mảng m-by-n-by-3 (3 chiều) có kiểu dữ liệu uint8,
uint16, single. Mỗi phần tử trong ma trận xác định
độ đậm của màu.
Với mảng có kiểu là single hoặc double, miền giá
trị là [0,1]. Với kiểu uint8, khoảng giá trị là
[0,255], với kiểu uint16:[0,65535],với kiểu int16:[-
32768,32767]


12

1.3.3 Một số không gian màu trong Image Processing toolbox
Không gian màu cơ bản trong Image Processing Toolbox là RGB, vì đa số
các hàm xử lý ảnh thao tác trên không gian này. Ngoài ra còn có các không gian
màu khác như: HSV, YCbCr.
1.3.3.1 Không gian màu RGB
Không gian màu RGB sử dụng mô hình bổ sung trong đó ánh sáng đỏ (R),
xanh lá cây (G) và xanh lam (B) được tổ hợp với nhau để tạo thành các màu khác.
Từ viết tắt RGB trong tiếng Anh có nghĩa là đỏ (red), xanh lá cây (green) và xanh
lam (blue), là ba màu gốc trong các mô hình ánh sáng bổ sung.


Hình 1.6: Không gian màu RGB

1.3.3.2 Không gian màu HSV
Không gian màu HSV là một không gian màu dựa trên ba số liệu:
 H: (Hue) Vùng màu
 S: (Saturation) Độ bão hòa màu
 V (hay B): (Bright hay Value) Độ sáng

13


Hình 1.7: Không gian màu HSV

1.3.3.3 Không gian màu YCbCr
Không gian màu YCbCr được tổ hợp từ ba thành phần độ sáng Y, và hai
thành phần màu (xanh dương và đỏ). Trong tiếng Anh YCbCr được viết tắt từ luma
(Y), Blue Chrominance (Cb) và Red Chrominance (Cr)
YCbCr không phải là không gian màu thực, nghĩa là các thành phần Y, Cb,
Cr được tính toán từ không gian màu RGB
Y= 16 + 65.481*R + 128.553*G +
24.966*B
Cb = 128 - 37.797*R - 74.203*G + 112.0*B
Cr = 128 + 112.0*R - 93.786*G – 18.214*B

Hình 1.8: Không gian màu YCbCr



14


1.3.4 Giới thiệu các phép xử lý ảnh cơ bản trong MatLab
1.3.4.1 Đọc, ghi, hiển thị ảnh
Để đọc một ảnh số vào MatLab, ta dùng lệnh imread. Lệnh này có thể đọc
tất cả các dạng ảnh được MatLab hỗ trợ. Khi ảnh đầu vào có độ sâu màu 8bit,
MatLab sẽ dùng kiểu dữ liệu 8 bit tương ứng, khi ảnh vào kiểu 16 bit, như kiểu
PNG hay TIFF, MatLab dùng kiểu dữ liệu 16 bit để lưu giữ. Ví dụ sau đọc một ảnh
có tên là mypic.JPG từ ổ cứng và ghi vào biến RGB.
>> RGB = imread(‘mypic.JPG’);
Để ghi một ảnh từ biến MatLab thành một file ảnh trong ổ cứng, ta dùng
hàm imwrite với cú pháp như bên dưới:
>> imwrite(X, map, ‘ten_hinh.bmp’);
X : biến trong MatLab, kiểu dữ liệu là kiểu ảnh bipmap
Map: không gian màu của kiểu ảnh
‘ten_hinh.bmp’: Tên của file được ghi
Để hiển thị ảnh trong MatLab, ta dùng các hàm sau:
+ imshow: Hiển thị ảnh trên firgure hiện hành. Nếu chưa có firgure nào,
Matlab tự động tạo một firgure.
+ image: Hiện ảnh với tuỳ chọn thêm các công cụ quản lý ảnh
+ imagesc: Hiện ảnh với tuỳ chọn scale toàn khung hình.
1.3.4.2 Xử lý ảnh
Phép xử lý hình thái ảnh (morphology) là các phép xử lý nhằm biến đổi hình
dạng của ảnh. Hai phép biến đổi thông dụng là phép giãn ảnh (dilation) và phép ăn
mòn (erosion). Đối với phép biến đổi morphology, giá trị mỗi điểm ảnh của ảnh sau
biến đổi là kết quả của phép xử lý so sánh các điểm ảnh tại vị trí lân cận ở ảnh gốc.
Tuỳ thuộc vào kích thước và dạng của vùng lân cận này mà kết quả biến đổi khác
nhau.
Một số ví dụ về phép xử lý ảnh hình thái:

15


>> BW1 =
imread('circbw.tif');
>> SE =
strel('arbitrary',eye(5))
;
>> BW2 = imerode(BW1,SE);
>> imshow(BW1)
>> figure, imshow(BW2)

>> BW1 =
imread('circbw.tif');
>> SE =
strel('rectangle',[40
30]);
>> BW2 = imerode(BW1,SE);
>> imshow(BW2)
>> BW3 =
imdilate(BW2,SE);
>> imshow(BW3)

>> BW1 =
imread('circbw.tif');
>> BW2 =
bwmorph(BW1,'skel',Inf);
>> imshow(BW1)
>> figure, imshow(BW2)


1.4 Các bước giao tiếp nối tiếp bằng Matlab

Để thuận tiện cho việc lập trình và quản lý cổng COM, MatLab cho ta qui
trình giao tiếp cổng COM như sau:

16

Bước 1: Tạo Serial Port Object
Trước khi giao tiếp, ta phải tạo Serial Port Object bằng lệnh:
>> s = serial(‘COM1’);
Lúc này MatLab tạo một biến s đại diện cho cổng nối tiếp COM1, có tên là
“Serial-COM1”, kiểu dữ liệu “serial”.
Bước 2:Kết nối thiết bị và cấu hình

Hình 1.9: Mô hình giao tiếp bằng cổng COM trong MatLab
Kết nối phần cứng và thiết lập các thông số truyền bằng lệnh set. Ví dụ:
>> set(s, ‘BaudRate’,19200, ‘Parity’, ‘even’);
Bước 3: Truyền và nhận dữ liệu
Truyền, nhận dữ liệu là quá trình đọc, ghi dữ liệu từ máy tính xuống vi điều
khiển thông qua biến đại diện cổng COM. Cụ thể là việc đọc/ghi dữ liệu vào bộ nhớ
đệm RS 232.
Để truyền dữ liệu, ta có các lệnh sau:
Fprintf Truyền một chuỗi kiểu text xuống Vi điều khiển
Fwrite Truyền dữ liệu nhị phân xuống Vi điều khiển
Stopasync Ngừng đồng bộ hoạt động truyền/nhận
Để đọc dữ liệu, ta có các lệnh sau:
Fgetl Đọc một dòng kí tự được gởi lên từ Vi điều khiển, loại bỏ kí tự kết thúc
(terminator)
Fgets Đọc một dòng kí tự được gởi lên từ Vi điều khiển kể cả kí tự kết thúc
Fread Đọc dữ liệu nhị phân
Fscanf Đọc dữ liệu và chuyển sang kiểu kí tự (text)
Readasync Đọc dữ liệu theo kiểu đồng bộ

Stopasync Ngừng hoạt động đồng bộ

17

1.5 Hệ ảnh vật
Giới thiệu sơ lược cấu tạo chính của camera

Hình 1.10: Cấu tạo chính của camera
1.5.1 Phép biến đổi chiếu hình
Biến đổi chiếu hình là phép biến đổi quang học để chiếu các điểm trong
không gian 3 chiều lên một mặt phẳng. Phép biến đổi này rất cần khi trao đổi thông
tin giữa các vật thể 3 chiều và hình chiếu của nó trên các mặt phẳng. Hình bên dưới
mô tả sơ đồ phép chiếu quang học.

Hình 1.11: Ảnh của vật thể qua thấu kính

18

Đặt h
o
kích thước của vật thể, h
i
là kích thước của ảnh, mối quan hệ giữa
tiêu cự f của thấu kính với khoảng cách từ thấu kính tới vật thể R được thể hiện qua
công thức:
fR
f
hh
oi



với
fR


Nếu ta giữ nguyên khoảng cách R, thay đổi kích thước của vật h
o
một giá trị

, kích thuớc mới của vật là h
o’
= h
o
+

, khi đó ta có kích thước mới của ảnh:
fR
f
hh
ii



'
với
fR


Như vậy nếu ta giữ nguyên khoảng cách giữa vật và thấu kính, thay đổi kích
thước của vật thì sẽ làm thay đổi tuyến tính kích thước ảnh.

Nếu ta giữ nguyên kích thước của vật, thay đổi khoảng cách của vật tới thấu
kính ,minh họa như hình:

Ta có ;

R
f
AB
BA

''
=>
'
'
*
B
A
ABf
R 
(*)

'
""
R
f
AB
BA

=>
"

"
*
'
B
A
ABf
R 
(**)
Từ (*) và (**) ta có:
'
'
""
'
B
A
BA
R
R



19

Như vậy khi thay đổi khoảng cách giữa vật và thấu kính cũng sẽ làm thay đổi
kích thước ảnh của vật, khoảng cách càng gần (R>f) thì ảnh càng lớn.
1.5.2 Xác định khoảng cách từ vật thể hình tròn đến camera
Xét trường hợp đặc biệt đối tượng có hình tròn. Với đối tượng hình tròn thì
ảnh thu được trong khung ảnh cũng có dạng hình tròn với bất kì góc nhìn của
camera cũng như khoảng cách của nó so với camera.


Hình 1.12
Thay đổi khoảng cách giữa vật và camera sẽ làm thay đổi kích thước ảnh của
vật.
Bằng cách xác định độ lớn của ảnh ta co thể suy ra được khoảng cách giữa canera
và vật. Gọi :
- L : là độ lớn của ảnh
- k : là khoảng cách từ vật đến camera tương ứng với L
k, L được xác định bằng thực nghiệm.
Thì khoảng cách hiện thời (k’) được xác định:
k’ =
L
Lk '

với L’ là kích thước hiện thời của ảnh vật.



×