Tải bản đầy đủ (.docx) (95 trang)

THIẾT KẾ, CHẾ TẠO MÔ HÌNH ROBOT TỰ HÀNH ỨNG DỤNG 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 (2.56 MB, 95 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH

KHÓA LUẬN TỐT NGHIỆP
THIẾT KẾ, CHẾ TẠO MÔ HÌNH ROBOT TỰ HÀNH
ỨNG DỤNG XỬ LÝ ẢNH

Họ và tên sinh viên: HỒ ANH ĐỒNG
TRẦN ĐÌNH MINH
Ngành: CÔNG NGHỆ KĨ THUẬT CƠ ĐIỆN TỬ
Niên khóa: 2012-2016

Tháng 6 năm 2016


THIẾT KẾ, CHẾ TẠO MÔ HÌNH ROBOT TỰ HÀNH
ỨNG DỤNG XỬ LÝ ẢNH

TÁC GIẢ

HỒ ANH ĐỒNG – TRẦN ĐÌNH MINH

Khóa luận tốt nghiệp được đệ trình đáp ứng yêu cầu
cấp bằng Kỹ sư ngành Cơ Điện Tử

Giáo viên hướng dẫn:
Th.S TRẨN THỊ KIM NGÀ

Tháng 06 năm 2016



LỜI CẢM ƠN

Em xin trân trọng cảm ơn tất cả quý thầy cô ở trường Đại học Nông Lâm TP.Hồ Chí
Minh và quý Thầy Cô trong khoa Cơ Khí - Công Nghệ đã trang bị cho em những kiến
thức quý báu cũng như đã giúp đỡ em trong suốt quá trình học tập tại trường.
Em xin chân thành cảm ơn các thầy cô trong bộ môn Cơ Điện Tử đã giúp đỡ chúng
em nhiệt tình trong thời gian thực hiện đề tài.
Em cũng xin bày tỏ sự biết ơn chân thành đối với cô Trần Thị Kim Ngà đã tận tình
hướng dẫn em trong suốt quá trình làm Luận văn tốt nghiệp.
Đặc biệt, em xin cảm ơn quý thầy cô trong hội đồng đã dành thời gian nhận xét và góp
ý để luận văn của em hoàn thiện hơn.
Cuối cùng, em xin gửi lời cảm ơn đến những người thân cũng như bạn bè đã động
viên, ủng hộ và luôn tạo cho em mọi điều kiện thuận lợi trong suốt quá trình hoàn thành
luận văn.

TP.HCM, ngày tháng 06 năm 2016
Sinh viên thực hiện
HỒ ANH ĐỒNG – TRẦN ĐÌNH MINH


TÓM TẮT

Đề tài nghiên cứu “Thiết kế, chế tạo mô hình robot tự hành ứng dụng xử lý ảnh” được
thực hiện tại trường Đại Học Nông Lâm Thành Phố Hồ Chí Minh, thời gian từ tháng 2
đến tháng 5 năm 2016.
Đề tài được thực hiện và đạt được kết quả nhất định về việc thiết kế, chế tạo được mô
hình robot tự hành ứng dụng xử lý ảnh. Dựa trên thuật toán nhận dạng đối tượng đã thực
hiện, chúng em phát triển mô hình theo hướng có khả năng nhận dạng và đi theo chỉ dẫn
biển báo giao thông (Đây được xem là kết quả chính của đề tài). Hơn thế nữa, chúng em
còn áp dụng thuật toán này để tìm kiếm và bám theo vật thể. Để làm tốt kết quả này,

chúng em cũng đã thực hiện quá trình xử lý ảnh nhận dạng vật thể, xây dựng hệ thống cơ
sở dữ liệu các biển báo giao thông đường bộ, toàn quá trình xử lý ảnh và xây dựng cơ sở
dữ liệu được thực hiện trên Raspbian với ngôn ngữ lập trình Python.
Thực hiện truyền nhận dữ liệu hình ảnh không dây thông qua đường truyền internet
với Wifi, kết hợp với camera được gắn trên xe.
Ngoài ra, chúng em còn điều khiển các thao tác của xe bằng giọng nói (Đây là một
phần mở rộng về đề tài của chúng em). Với việc sử dụng ứng dụng nhận dạng giọng nói
được phát triển dựa trên nền tảng nguồn mở của dự án “Jasper”.
Do thời gian thực hiện còn hạn chế, cũng như mức độ rộng lớn của đề tài, nên dù đã
cố gắng nhưng phương án giải quyết bài toán của chúng em chắc chắn không thể tránh
khỏi những thiếu sót. Chúng em rất mong nhận được sự đóng góp ý kiến của quý thầy cô
và bạn bè để đề tài của chúng em càng được hoàn thiện hơn.


MỤC LỤC


DANH SÁCH CÁC HÌNH
Hình 2.1 Điểm ảnh.............................................................................................................3
Hình 2.2 Ma trận biểu diễn ảnh nhị phân...........................................................................4
Hình 2.3 Ma trận biểu diễn ảnh xám..................................................................................4
Hình 2.4 Ma trận biểu diễn mức xám của thành phần RED...............................................5
Hình 2.5 Ma trận biểu diễn mức xám của thành phần GREEN..........................................5
Hình 2.6 Ma trận biểu diễn mức xám của thành phần BLUE.............................................5
Hình 2.7 Sơ đồ hệ thống xử lý ảnh.....................................................................................6
Hình 2.8 Camera có dây.....................................................................................................8
Hình 2.9 Camera không dây...............................................................................................8
Hình 2.10 IP Camera..........................................................................................................9
Hình 2.11 Mô hình không gian màu RGB........................................................................10
Hình 2.12 Mô hình màu HLS...........................................................................................11

Hình 2.13 Mô hình màu L*a*b.........................................................................................11
Hình 2.14 Biến đổi Fourier...............................................................................................12
Hình 2.15 Boad Arduino Mega 2560................................................................................14
Hình 2.16 Sơ đồ linh kiện trên board Arduino Mega 2560...............................................15
Hình 2.17 Sơ đồ chân của Board Arduino Mega 2560.....................................................16
Hình 2.18 Board Raspberry Pi..........................................................................................17
Hình 2.19 Sơ đồ linh kiện trên board Raspberry Pi..........................................................18
Hình 2.20 Các cổng kết nối của Raspberry Pi 2...............................................................20
Hình 2.21 Các thiết bị đi kèm với Raspberry Pi...............................................................21
Hình 2.22 Bảng điều khiển phần mềm SDFormatter........................................................23
Hình 2.23 Giao diện của chương trình.............................................................................23
Hình 2.24 Giao diện khi đang trong quá trình cài đặt.......................................................24
Hình 2.25 Một số hình ảnh về giao diện của chương trình Putty......................................26
Hình 2.26 Động cơ DC.....................................................................................................30
Hình 2.27 Nguyên lý hoạt động của lõi có chổi than.......................................................31
Hình 2.28 Động cơ RC Servo MG90S.............................................................................32
Hình 2.29 Mạch cảm biến siêu âm HC_SR04..................................................................32
Hình 2.30 Nguyên lý của cảm biến siêu âm.....................................................................33
Hình 2.31 Bánh xe đa hướng Omni..................................................................................34
Hình 2.32 Bánh sau của xe...............................................................................................34
Hình 2.33 Nhôm ống vuông.............................................................................................35
Hình 2.34 Webcam Logitech C270...................................................................................35
Hình 2.35 Loa mini..........................................................................................................36


Hình 2.36 Sạc dự phòng Xmobie Y30..............................................................................36
Hình 2.37 Led siêu sáng 5W............................................................................................37
Hình 2.38 Board Raspberry Pi 2 (Module B)...................................................................37
Hình 2.39 Arduino Motor Shield VNH2SP30 30A..........................................................39
Hình 2.40 Mạch công suất MOSFET IRF520..................................................................40

Hình 2.41 Mạch tăng áp...................................................................................................40
Hình 2.42 USB Wifi H-Air...............................................................................................41
Hình 4.1 Sơ đồ nguyên lý của hệ thống............................................................................45
Hình 4.2 Bộ khung sườn phác thảo..................................................................................45
Hình 4.3 Bộ khung sườn sau khi gắn Mica......................................................................46
Hình 4.4 Bộ khung sườn sau khi hoàn thiện.....................................................................46
Hình 4.5 Mô hình robot tự hành ứng dụng xử lý ảnh.......................................................47
Hình 4.6 Sơ đồ giải thuật điều khiển giọng nói................................................................48
Hình 4.7 Một số biển báo giao thông trong thực tế..........................................................49
Hình 4.8 Một số hình ảnh trong cơ sở dữ liệu..................................................................50
Hình 4.9 Sơ đồ các bước xử lý ảnh nhận dạng biển báo...................................................51
Hình 4.10 Ảnh sau khi lọc Canny.....................................................................................51
Hình 4.11 Ảnh sau khi tìm được khung hình chữ nhật.....................................................52
Hình 4.12 Ảnh sau khi được tách.....................................................................................52
Hình 4.13 Ảnh sau khi được so sánh với cơ sở dữ liệu....................................................53
Hình 4.14 Giải thuật nhận diện biển báo..........................................................................54
Hình 4.15 Giải thuật điều khiển Robot đi theo biển báo...................................................55
Hình 4.16 Giải thuật xử lý ảnh nhận dạng trái banh.........................................................56
Hình 4.17 Ảnh thu được sau khi tìm Contour...................................................................57
Hình 4.18 Ảnh thu được sau khi xác định tâm đối tượng.................................................58
Hình 4.19 Giải thuật điều khiển Robot tìm kiếm và bám theo trái banh...........................59


DANH SÁCH CÁC BẢNG
Bảng 1.1 Khảo nghiệm hệ thống nhận dạng từng giọng nói.............................................60
Bảng 1.2 Khảo nghiệm khoảng cách nhận dạng giọng nói so với mic (Phòng kín)..........61
Bảng 1.3 Khảo nghiêm khoảng cách nhận dạng giọng nói so với mic (Ngoài trời)..........61
Bảng 2.1 Khảo nghiệm hệ thống nhận dạng biển báo giao thông.....................................62
Bảng 2.2 Khảo nghiệm khoảng cách nhận dạng biển báo giao thông...............................63
Bảng 2.3 Khảo nghiệm thời gian xử lý của Camera với biển báo.....................................63

Bảng 3.1 Khảo nghiệm khoảng cách nhận diện trái banh.................................................64
Bảng 3.2 Khảo nghiệm về khả năng tìm thấy trái banh trong khoảng cách xác định........65
Bảng 3.3 Khảo nghiệm thời gian xử lý của Camera với trái banh....................................66


Chương 1
MỞ ĐẦU
I.

Đặt vấn đề
Trong mấy thập kỷ gần đây, xử lý ảnh đã được nghiên cứu mạnh mẽ và đã có rất nhiều

ứng dụng trong thực tế. Như trong y học, xử lý ảnh số đã được dùng để phát hiện và nhận
dạng khối u, cải thiện ảnh X quang, nhận dạng đường biên mạch máu từ những ảnh chụp
mạch bằng tia X. Còn trong lĩnh vực khoa học kỹ thuật, xử lý ảnh đã và đang có những
đóng góp quan trọng, đặc biệt là trong lĩnh vực Robot. Robot thông minh ngày nay không
thể thiếu yếu tố xử lý ảnh. Đó là các vấn đề nhận dạng các đối tượng ngoài môi trường.
Từ việc nhận dạng có thể giải quyết rất nhiều bài toán như tránh vật cản, dò đường, tìm
vật…. Từ những cơ sở đó, việc nghiên cứu bài toán xử lý ảnh trong thời đại ngày nay là
rất quan trọng và không thể thiếu trong hầu hết các lĩnh vực.
Ngày nay, lĩnh vực khoa học kỹ thuật công nghệ phát triển một cách nhanh chóng và
mạnh mẽ, đặc biệt là lĩnh vực Robot thông minh. Xử lý ảnh là bài toán không thể thiếu
trong Robot, nó có thể được xem là con mắt của Robot để giúp Robot quan sát, theo dõi
đối tượng, dò đường, tìm vật,… Vì thế, bài toán xử lý ảnh sẽ giúp cho ta điều khiển Robot
một cách chính xác và dễ dàng hơn.
Vấn đề đặt ra là, chúng ta sẽ dùng công cụ gì để lập trình cũng như điều khiển cho
Robot với bài toán xử lý ảnh. Nắm bắt điều này, chúng tôi đã sử dụng một công cụ tương
đối mới trên thị trường hiện nay đó là Raspberry Pi. Với một số tính năng ưu việt, cách sử
dụng đơn giản, Raspberry Pi có thể xem là một công cụ tối ưu để giải quyết các bài toán
liên quan đến xử lý ảnh, nhằm phát triển cho các đề tài nói về Robot thông minh hiện nay.


9


II. Mục đích

Dựa trên những yêu cầu thực tế ngày nay trong lĩnh vực Robot giám sát thông minh.
Chúng tôi thực hiện đề tài “Thiết kế, chế tạo mô hình robot tự hành ứng dụng xử lý ảnh”
với mục đích nhận dạng và bám theo đối tượng, thu thập thông tin phục vụ trong các lĩnh
vực an ninh quốc phòng, các ngành công nghiệp mang tính độc hại cao khi tiếp xúc với
các hóa chất độc hại, phục vụ trong y học, phục vụ trong giao thông đường bộ với việc
nhận dạng các biển báo giao thông ứng dụng trong các hệ thống xe thông minh không
người lái…
III.

Nội dung thực hiện
Vì thời gian giới hạn, cũng như mức độ rộng lớn của đề tài nên chúng tôi chỉ thực hiện

nghiên cứu các vấn đề cơ bản sau:


Dùng Camera thu tín hiệu video trực tiếp và truyền dữ liệu qua cổng USB hoặc
dùng IP camera thu tín hiệu video và truyền dữ liệu thông qua mạng internet.
Thiết bị thu video được kết nối Raspberry để xử lý.



Raspberry được giao tiếp với Arduino Mega bằng Serial thông qua cáp USB
và biến Arduino Mega làm chip tớ thực hiện nhiệm vụ điều khiển xe.




Tiến hành xử lý ảnh thông qua thư viện nguồn mở OpenCV, và được viết trên
phần mềm Raspbian bằng ngôn ngữ Python. Với mục đích nhận dạng biển báo
và tìm kiếm trái banh.



Sử dụng mic của webcam (Logitech C270) làm đầu vào của giọng nói thực
hiện nhiệm vụ nhận lệnh bằng giọng nói điều khiển xe.

10


Chương 2
TỔNG QUAN
I.

Một số khái niệm cơ bản trong xử lý ảnh
1. Phần tử ảnh

Ảnh trong tự nhiên là những tín hiệu liên tục về không gian và giá trị độ sáng. Để có
thể lưu trữ và biểu diễn ảnh bằng máy tính, con người phải tiến hành biến đổi các tín
hiệu liên tục đó thành một số hữu hạn các tín hiệu rời rạc thông qua quá trình lượng tử
hóa và lấy mẫu thành phần giá trị độ sáng.
Một phần tử ảnh (Picture Element) là một giá trị biểu diễn cho mức xám hay cường
độ ảnh tại một vị trí sau khi đã biến đổi ảnh thành một số hữu hạn các tín hiệu rời rạc.
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu
nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thí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.

Hình 2.1 Điểm ảnh
2. Mức xám của ảnh

Là kết quả của sự biến đổi tương ứng giá trị độ sáng của một điểm ảnh với một
giá trị số nguyên dương. Tùy thuộc vào số giá trị biểu diễn mức xám mà mỗi điểm
ảnh sẽ được biểu diễn trên 1, 4, 8, 24 hay 32 bit. Số lượng bit biểu diễn mức xám
càng lớn thì chất lượng ảnh càng cao.
3. Ảnh
11


Là một tập hợp hữu hạn các điểm ảnh kề nhau. Ảnh thường được biểu diễn bằng
một ma trận hai chiều, mỗi phần tử của ma trận tương ứng với một điểm ảnh.
a. Ảnh nhị phân
Ảnh nhị phân là ảnh chỉ có 2 mức đen trắng phân biệt, mỗi điểm ảnh của ảnh
nhị phân chỉ có thể là 0 hoặc 1.
0

1

1

0

1

1


1

0

0

0

1

1

0

1

1

1

Hình 2.2 Ma trận biển diễn ảnh nhị phân
b. Ảnh xám

Ảnh xám là ảnh mà giá trị mức xám của các điểm ảnh được biểu diễn bằng 8
bit (giá trị từ 0 đến 255).
0

5

12


0

1
5

94

21

0

0

0

15
6

9

0

11

24
5

1
2


Hình 2.3 Ma trận biểu diễn ảnh xám
c. Ảnh màu

Thông thường, ảnh màu được tạo nên từ 3 ảnh xám đối với màu nền đỏ
(RED), xanh lá cây (GREEN), xanh lam (BLUE). Tất cả các màu trong tự nhiên
đều có thể được tổng hợp từ 3 thành phần màu trên theo các tỷ lệ khác nhau
0

7

11
12

0


11
5

9
4

20

0

0

0


15

1
6

0

1
1

22
5

1
2

Hình 2.4 Ma trận biểu diễn mức xám của thành phần RED
0

1

121

0

14

9


210

0

0

0

115

16

0

11

22

2

Hình 2.5 Ma trận biểu diễn mức xám của thành phần GREEN

0

17

2
1

0


13
5

93

5
0

0

0

0

1
5

6
7

0

11

2
5

1
9


Hình 2.6 Ma trận biểu diễn mức xám của thành phần BLUE
4. Độ phân giải

Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một
ảnh số được hiển thị. Khoảng cách giữa các điểm ảnh phải được chọ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ọn khoả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ố theo trục x và y
trong không gian hai chiều.
13


Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là
một lưới điểm theo 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” độ phân giải 320*200. Lý do: cùng một mật độ (độ phân giải) nhưng diện tích
màn hình rộng hơn thì độ mịn (liên tục của các điểm) kém hơn.
II. Tổng quan về hệ thống xử lý ảnh

Một hệ thống xử lý ảnh điển hình thường bao gồm những thành phần sau:

Lưu trữ

Lưu trữ
Thiết bị thu nhận ảnh

Thu nhận ảnh

Số hóa


Nhận dạng

Phân tích ảnh Hệ quyết định
Hiển thị

Hình 2.7 Sơ đồ hệ thống xử lý ảnh
1. Các thiết bị thu nhận ảnh

Ảnh có thể thu nhận qua Camera, hoặc ảnh cũng có thể thu nhận từ vệ tinh qua
các bộ cảm ứng (sensor) hay ảnh, tranh được quét trên các máy scanner…
a. Khái niệm camera
Camera là một thiết bị ghi hình. Với một chiếc camera, ta có thể ghi lại được
những hình ảnh trong một khoảng thời gian nào đó, lưu trữ và sau đó ta có thể xem
lại bất cứ khi nào bạn muốn. Camera sẽ truyền hình ảnh nhận được tại địa điểm lắp
đặt đến các thiết bị hiển thị như TV, computer, MP4,…
b. Phân loại camera

- Phân loại theo kĩ thuật hình ảnh.
- Phân loại theo đường truyền.
14


Phân loại theo kĩ thuật hình ảnh




Camera analog CCIR
Ghi hình băng từ xử lý tín hiệu analog xử lý tín hiệu màu vector màu, loại
Camera này hiện nay ít dùng.




Camera số CCD
Camera CCD sử dụng kĩ thuật CCD để nhận biết hình ảnh. CCD là tập hợp
những ô tích điện có thể cảm nhận ánh sáng sau đó chuyển tín hiệu ánh sáng sang tín
hiệu số để đưa vào các bộ xử lý. CCD thu nhận những hình ảnh thông qua các hệ
thống thấu kính của Camera. CCD có hàng ngàn những điểm ảnh sẽ chuyển đổi ánh
sáng thành những hạt điện tích và được số hoá. Đây là một quá trình chuyển đổi
tương tự số. Camera CCD có đường chéo màn hình cảm biến (tính bằng inch). Kích
thước màn hình cảm biến càng lớn thì chất lượng càng tốt. (màn hình 1/3 inch Sony
CCD sẽ có chất lượng tốt hơn 1/4 inch CCD, vì 1/3 > 1/4).



Camera số CMOS
CMOS có nghĩa là chất bán dẫn có bổ sung oxit kim loại. Các loại Camera số sử
dụng công nghệ CMOS. Các Camera số thương mại sử dụng công nghệ CMOS thì
chưa đủ khả năng cung cấp trong thời điểm này khi so sánh chất lượng hình ảnh với
Camera CCD.



Phân loại theo đường truyền
Có 3 loại: Camera có dây, Camera không dây, IP Camera.

15





Camera có dây

Hình 2.8 Camera có dây
Camera có dây có ưu điểm là độ an toàn cao, tính bảo mật tốt được sử dụng để
truyền tín hiệu trên dây cáp đồng trục khoảng 75ohm – 1Vpp, dây C5. Nếu truyền
khoảng cách > 300m thì cần phải có bộ khuyếch đại để tránh việc mất tín hiệu trên
đường truyền.


Camera không dây

Hình 2.9 Camera không dây
Giống như tên gọi, các Camera này đều không có dây. Các loại Camera không
dây có ưu điểm đó là dễ thi công lắp đặt do không cần đi dây, tuy nhiên Camera có
16


hệ số an toàn không cao vì dễ bị bắt sóng hoặc bị ảnh hưởng nhiễu trước các nguồn
sóng khác như điện thoại di động.


IP Camera

Hình 2.10 IP Camera
Như đã đề cập ở trên, IP Camera được kết nối trực tiếp vào mạng qua hệ thống
mạng Wifi, tín hiệu hình ảnh và điều khiển được truyền qua mạng. Với Camera IP
người dùng có thể điều khiển và giám sát ở bất cứ đâu thông qua mạng Internet.
2. Thu nhận ảnh và số hóa
Việc thu nhận ảnh có thể thông qua Camera. Các Camera có thể hoặc là tương tự

(loại camera ống kiểu CCIR) hoặc là số (loại camera kiểu CCD). Ảnh cũng có thể
được thu qua các thiết bị khác như máy quét… Nếu ảnh nhận được là tương tự nó
phải được số hóa nhờ quá trình lấy mẫu và lượng tử hóa trước khi phân tích, xử lý
hay lưu trữ ảnh.
3. Lưu trữ ảnh
Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được nhúng
trong các thiết bị kỹ thuật khác nhau. Quá trình lưu trữ ảnh nhằm 2 mục đích:


Tiết kiệm bộ nhớ.



Giảm thời gian xử lý.

17


Việc lưu trữ thông tin trong bộ nhớ có ảnh hưởng rất lớn đến việc hiển thị, in ấn
và xử lý ảnh được xem như là 1 tập hợp các điểm với cùng kích thước nếu sử dụng
càng nhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn và càng thể hiện rõ hơn chi tiết
của ảnh người ta gọi đặc điểm này là độ phân giải.
Để lưu trữ ảnh trên máy tính, một số định dạng ảnh sau như IMG, PCX, TIFF,
GIF…
4. Phân tích ảnh
 Một số không gian màu


Không gian màu RGB (Red, Green, Bule)
Còn gọi là ảnh “truecolor” do tính trung thực của nó. Ảnh này được biểu


diễn bởi một ma trận ba chiều kích thước m x n x 3, với m x n là kích thước
ảnh theo pixels. Ma trận này định nghĩa các thành phần màu red, green, blue
cho mỗi điểm ảnh, các phần tử của nó có thể thuộc kiểu uint 8, uint16 hoặc
double.

18


Hình 2.11 Mô hình không gian màu RGB


Mô hình màu HLS
Mô hình màu HLS được xác định bởi tập hợp hình chóp sáu cạnh đôi của

không gian hình trụ. Sắc màu là góc quanh trục đứng cảu hình chóp sáu cạnh
đôi với màu đỏ tại góc 0o. Các màu sẽ xác định theo thứ tự giống như trong
biểu đồ CIE khi ranh giới của nó bị xoay ngược chiều kim đồng hồ: Màu đỏ,
màu vàng, màu lục, màu xanh tím, màu lam và đỏ thẫm. Điều này cũng giống
như thứ tự sắc xếp trong mẫu hình chóp sáu cạnh đơn HSV.

Hình 2.12 Mô hình màu HLS


Mô hình màu L*a*b
Là không gian màu phổ biến cho việc so sánh sự khác biệt về màu sắc.

Trong đó, hệ thống L*a*b đại diện cho 3 mức tỷ lệ với L (light) đại diện cho độ
sáng.


19


Hình 2.13 Mô hình màu L*a*b


Một số công cụ trợ giúp xử lý ảnh


Kỹ thuật lọc số
Chất lượng hình ảnh kém do rất nhiều nguyên nhân như do nhiễm điện từ

của máy thu hay chất lượng bộ số hóa kém. Nhiễu ảnh số được xem như là sự
dịch chuyển nhanh của tín hiệu thu nhận trên một khoảng cách ngắn. Về mặt
tần số, nhiễu ứng với các thành phần tần số cao trong ảnh. Như vậy để xử lý
nhiễu ta có thể lọc các thành phần tần số cao. Việc lọc dựa vào tính dư thừa
thông tin không gian, các pixel lân cận có thể có cùng hoặc gần cùng một số
đặc tính. Kỹ thuật lọc này dùng một mặt nạ và di chuyển khắp ảnh gốc.


Biến đổi Fourier
Biến đổi Fourier cho một tín hiệu có thể biểu diễn như sau:

Hình 2.14 Biến đổi Fourier
Biến đổi Fourier thuận cho tín hiệu một chiều gồm một cặp biến đổi :
- Biến đổi Fourier thuận: chuyển sự biểu diễn từ không gian thực sang
không gian tần số (phổ và pha) . Các thành phần tần số này được gọi là các
biểu diễn trong không gian Fourier của tín hiệu.
- Biến đổi Fourier ngược: Chuyển đổi sự biểu diễn của đối tượng từ
không gian Fourier sang không gian thực.


20




Biên và các phương pháp phát hiện biên
Biên là vấn đề quan trọng trong trích chọn đặc điểm nhằm tiến tới hiểu ảnh. Cho
đến nay chưa có định nghĩa chính xác về biên, trong mỗi ứng dụng người ta đưa ra các
độ đo khác nhau về biên, một trong các độ đo đó là độ đo về sự thay đổi đột ngột về
cấp xám. Ví dụ: Đối với ảnh đen trắng, một điểm được gọi là điểm biên nếu nó là điểm
đen có ít nhất một điểm trắng bên cạnh. Tập hợp các điểm biên tạo nên biên hay đường
bao của đối tượng. Xuất phát từ cơ sở này người ta thường sử dụng hai phương pháp
phát hiện biên cơ bản:
Phát hiện biên trực tiếp: Phương pháp này làm nổi biên dựa vào sự biến thiên mức
xám của ảnh. Kỹ thuật chủ yếu dùng để phát hiện biên ở đây là kỹ thuật lấy đạo hàm.
Nếu lấy đạo hàm bậc nhất của ảnh ta có các kỹ thuật Gradient, nếu lấy đạo hàm bậc hai
của ảnh ta có kỹ thuật Laplace. Ngoài ra còn có một số các tiếp cận khác.
Phát hiện biên gián tiếp: Nếu bằng cách nào đó ta phân được ảnh thành các vùng thì
ranh giới giữa các vùng đó gọi là biên. Kỹ thuật dò biên và phân vùng ảnh là hai bài
toán đối ngẫu nhau vì dò biên để thực hiện phân lớp đối tượng mà khi đã phân lớp xong
nghĩa là đã phân vùng được ảnh và ngược lại, khi đã phân vùng ảnh đã được phân lớp
thành các đối tượng, do đó có thể phát hiện được biên.
Phương pháp phát hiện biên trực tiếp tỏ ra khá hiệu quả và ít chịu ảnh hưởng của
nhiễu, song nếu sự biến thiên độ sáng không đột ngột, phương pháp tỏ ra kém hiệu quả,
phương pháp phát hiện biên gián tiếp tuy khó cài đặt, song lại áp dụng khá tốt trong
trường hợp này. Sự khác biệt cơ bản giữa hai phương pháp này là: Phương pháp phát
hiện biên trực tiếp cho ta kết quả là ảnh biên, còn phương pháp phát hiện biên gián tiếp
cho ta kết quả là đường biên.
5. Hệ quyết định


21


Cuối cùng tùy theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng hiển thị
hay đưa ra các quyết định khác.
III. Tổng quan về Arduino Mega2560
1. Khái niệm về Arduino

Arduino là nền tảng thiết bị điện tử mã nguồn mở, được sử dụng để giao tiếp với
phần cứng và các cảm biến một cách dễ dàng. Arduino được biết đến khi xuất hiện
đầu tiên ở Ý vào năm 2005. Nó đã được mở rộng không ngừng trong những năm vừa
qua, với nhiều nhà sản xuất và phân phối trên toàn thế giới, Arduino cũng có
Arduino IDE, phần mềm sử dụng để viết chương trình, kết nối với lập trình cho
Arduino.
Arduino là một công cụ dạy học tuyệt vời để tìm hiểu những điều cơ bản về lập
trình và linh kiện điện tử. Có rất nhiều loại mạch, bộ công cụ shield (shield là các
module mở rộng để bổ sung tính năng cho Arduino, thường đi với các thư viện lập
trình tương ứng) để giúp thực hiện bất cứ dự án nào một cách dễ dàng. Ví dụ như:
Arduino Uno R3, Arduino Mega2560…
2. Thành phần của Arduino Mega

Hình 2.15 Boad Arduino Mega 2560
Arduino Mega2560 là một vi điều khiển bằng cách sử dụng ATmega2560.
Bao gồm:
22





54 chân digital (15 có thể được sử dụng như các chân PWM)



16 đầu vào analog



4 UARTs (cổng nối tiếp phần cứng)



1 thạch anh 16 MHz



1 cổng kết nối USB



1 jack cắm điện



1 đầu ICSP



1 nút reset
Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển.

Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI
chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng
ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB.

3. Sơ đồ linh kiện của Arduino Mega

Arduino Megas có sơ đồ linh kiện như các hình sau đây (hơi nhiều chân)

Hình 2.16 Sơ đồ linh kiện trên board Arduino Mega 2560
23


Hình 2.17 Sơ đồ chân của Board Arduino Mega 2560


5 Chân GND



3 chân 5V



1 chân 3.3v



1 nút reset




16 chân analog



4 chân UART



54 Chân digital trong đó có 15 chân chúng ta có thể sử dụng như PWM



6 Chân lập trình ISP

Và nhiều thành phần khác...
4. Một số ứng dụng phổ biến của Arduino Mega

Một số dự án có thể làm bằng Arduino Mega như: ma trận LED 8x8x8 dùng để
hiển thị hình ảnh, máy gắp thú bông, các robot điều khiển từ xa, máy in 3D, cánh tay
robot…và rất nhiều ứng dụng mới.
IV. Raspberry Pi và ứng dụng xử lý ảnh bằng thư viện OpenCV
1. Tổng quan về Raspberry Pi và ngôn ngữ lập trình Python
24


1.1 Raspberry Pi
a. Khái niệm

Raspberry Pi ban đầu là một thẻ card được cắm trên bo mạch máy tính được

phát triển bởi các nhà phát triển ở Anh. Sau đó Raspberry Pi đã được phát triển
thành một bo mạch đơn có chức năng như một máy tính mini dùng để giảng dạy
trong môn khoa học máy tính ở các trường trung học.
Raspberry Pi Foundation– là tổ chức phi lợi nhuận với tiêu chí xây dựng hệ
thống mà nhiều người có thể sử dụng được trong những công việc tùy biến khác
nhau.
Raspberry Pi không thay thế hoàn toàn hệ thống để bàn hoặc máy xách tay. Nó
có thể chạy bằng hệ điều hành Linux với các tiện ích như lướt web, môi trường
Desktop và các nhiệm vụ khác . Từ bản Raspberry Pi 2 trở lên, còn hỗ trợ chạy trên
cả hệ điều hành Windows 10. Raspberry Pi là một thiết bị đa năng đáng ngạc
nhiên với nhiều phần cứng có giá thành rẻ nhưng rất hoàn hảo cho những hệ thống
điện tử , những dự án, thiết kế hệ thống, cũng như những bài học về lập trình
Python với chúng.

Hình 2.18 Board Raspberry Pi

b. Xuất xứ
25


×