1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

84 809 2

Đ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 84
Dung lượng 13,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 gi

Trang 1

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)

Trang 2

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)

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

- 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

Trang 9

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT

Trang 10

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

Trang 11

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…

Trang 12

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à

 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

Trang 13

 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

Trang 14

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)

Trang 15

 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

Trang 16

 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

Trang 17

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

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

Trang 18

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

Trang 19

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

Trang 20

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:

Trang 21

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:

Trang 22

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ộ

Trang 23

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

Trang 24

Đặt ho kích thước của vật thể, hi 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:

f R

f h

hi o

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

, kích thuớc mới của vật là ho’ = ho + , khi đó ta có kích thước mới của ảnh:

f R

f h

B A

 ' '

=>

' '

*

B A

AB f

B A

"

"

* '

B A

AB f

Từ (*) và (**) ta có:

' '

"

"

' A B

B A R R

Trang 25

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

Trang 26

CHƯƠNG 2 PHƯƠNG PHÁP VÀ NỘI DUNG NGHIÊN CỨU

Trang 27

2.1 Phương pháp nghiên cứu

Bước 1: Thu nhận ảnh

Bước 2: Tiền xử lý ảnh

Bước 3: Phân ngưỡng

Bước 4: Khử nhiễu và tách đối tượng

Bước 5: Xuất tín hiệu điều khiển robot

2.2 Nội dung nghiên cứu

Trang 28

Cụ thể được thực hiện theo các bước sau:

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

+ Khởi động MatLab

Bước 2: Chỉ định thông tin phần cứng:

Ta cần chỉ định cho MatLab biết phần cứng nào dùng để lấy dữ liệu (vì có thể có nhiều camera kết nối tới PC)

Gõ lệnh imaqhwinfo để biết tên các loại thiết bị có thể dùng

Tên Loại thiết bị

'coreco' Thiết bị của công ty coreco

‘DCAM’ Các thiết bị dùng chuẩn IEEE 1394

‘dt’ Các thiết bị của Data Translation

‘Matrox’ Các thiết bị của hãng Matrox

Để liệt kê xem loại winvideo có bao nhiêu thiết bị gắn vào máy, ta cũng dùng

lệnh imaqhwinfo với đối số là winvideo

Trang 29

Bước 3: Tạo đối tượng đại diện cho luồng dữ liệu video

Để tạo luồng dữ liệu video, bạn dùng lệnh videoinput Ví dụ

Trang 30

Trigger Parameters: 1 'immediate' trigger(s) on START

Status: Waiting for START

0 frames acquired since starting

0 frames available for GETDATA

Bước 4: Hiển thị luồng video trên màn hình để xem thử (tuỳ chọn)

Sau khi tạo biến tham chiếu luồng video (MatLab gọi là tạo đối tượng video ngõ vào), Ta có thể dùng MatLab để lấy dữ liệu từ thiết bị thu hình (thu thập dữ

Bước 5: Cấu hình cho hoạt động trích hình ảnh (tuỳ chọn)

Một số thông số hoạt động của biến video mà bạn có thể thay đổi Trước tiên, ta phải hiểu là có 2 đối tượng tác động khác nhau khi bạn tạo biến video

Trang 31

+ Video input objects: Đối tượng này đại diện cho các thông tin kết nối phần cứng

Nó được tạo bằng lệnh videoinput ở bước 3

Để xem thông tin các thuộc tính của đối tượng video (Video input objects) ta

dùng lệnh get(biến đối tượng video)

Trang 32

Callback Function Settings:

Hoặc để biết luồng dữ liệu hiện thời (luồng dữ liệu được chọn để xử lý) ta

dùng lệnh getselectedsource(đối tượng video) Và do đó, ta thường dùng lệnh sau

để biết thông số của luồng dữ liệu hiện thời:

>> get(getselectedsource(vid))

Trong các thông số này, có một số là chỉ đọc (read only), một số ta có thể thay đổi được Để thay đổi thông số mong muốn, ta dùng lệnh set Cấu trúc lệnh set thông thường giống như khi ta tạo GUI Ví dụ lệnh sau:

>> set(vid,'TriggerRepeat',Inf);

sẽ thiết lập cho thông số triggerRepeat thành giá trị vô cùng inf

Trang 33

Hoặc ta có thể thiết lập thông số bằng cách xem biến video như một biến kiểu cấu trúc Ví dụ:

>> vid.FrameGrabInterval = 5;

+ Video source objects: Khi bạn tạo video inut object, MatLab tự động tạo thêm đối tượng “video source object” và liên kết nó với video input object Đối tượng này đại diện cho luồng dữ liệu hình ảnh Có thể tạo nhiều “video source object”

trên một thiết bị phần cứng, nhưng tại một thời điểm thì chỉ có một được chọn để xử

lý Để thiết lập giá trị cho Video source objects, ta phải đặt một biến đại diện thông qua lệnh getselectedsource Ví dụ:

>> vid_src = getselectedsource(vid)

Display Summary for Video Source Object:

Index: SourceName: Selected:

1 'input1' 'on'

>> set(vid_src,'Tag','motion detection setup');

Bước 6: Lấy dữ liệu hình ảnh

Ta tiến hành theo các bước sau để lấy dữ liệu:

+ Gọi hàm start để bắt đầu (ví dụ : Start(vid)) Một số thông số của biến video sẽ

bị khoá thành dạng chỉ đọc

+ Lấy dữ liệu (hay còn gọi là thu thập dữ liệu): Tuỳ vào thông số TriggerType, ta có nhiều cách lấy dữ liệu

Ví dụ: ta thiết lập TriggerType là immediate thì MatLab tự động lấy dữ liệu

chuyển vào bộ đệm ngay sau lệnh start Nếu ta thiết lập là manual, MatLab chờ lệnh

gọi trigger (lệnh này phải được gọi sau khoảng thời gian khởi tạo)

+ Đem dữ liệu trong bộ đệm đi tính toán hoặc sử dụng: Dữ liệu thu thập được sau khi trigger nằm ở bộ đệm hay ở đĩa cứng, hay cả hai tuỳ vào thông số

LoggingMode Để đem dữ liệu này vào workspace, ta dùng lệnh getdata

Bước 7: Làm sạch bộ nhớ

Sau khi lấy dữ liệu video, ta có thể giải phóng bớt bộ nhớ bằng các lệnh sau:

>> delete(vid)

Trang 34

>> clear

>> close(gcf)

2.2.2 Tiền xử lý ảnh

Thực hiện các phép biến đổi ảnh để nâng cao chất lượng ảnh nhằm giảm bớt

sai số trong quá trình xử lý tiếp theo

2.2.2.1 Lọc tuyến tính

Ta xét một ví dụ cụ thể sử dụng hàm imfilter: Giả sử ta có một ảnh f ở class double, kích

Trang 35

Hình a là ảnh ban đầu Hình b là kết quả của quá trình lọc ảnh dùng padding

là các mức xám giá trị 0(màu đen), ta thấy ảnh bị làm mờ đi ở cạnh giữa 2 vùng trắng và đen, cũng như giữa phần biên ảnh với vùng trắng Điều này có thể giải thích như sau: Do mức xám tại một điểm là tổng của các tích mức xám các điểm vùng lân cận với hệ số của bộ lọc, ở đây các hệ số bộ lọc là 1, do đó mỗi điểm ảnh xem như là giá trị trung bình của các điểm ảnh xung quanh, dẫn đến kết quả như trên Ta có thể loại bỏ phần mờ ở vùng biên bằng cách dùng thông số „replicate‟ hoặc „symmetric‟ như ở kết quả c và d Với hình e, ta sử dụng thông số „circular‟

Do sự lập lại có tính chu kỳ làm cho vùng sáng và tối nằm cạnh nhau, dẫn đến kết quả là toàn bộ biên ảnh cũng như phần cạnh giữa 2 vùng sáng và tối bên trong bức ảnh bị mờ

Nếu ta sử dụng ảnh ban đầu là class uint8 và sử dụng bộ lọc w như trên, ta nhận được kết quả là hình f với một phần dữ liệu ảnh gốc bị mất Lý do là các giá trị lớn hơn 255 đều bị gán giá trị 255 Để giải quyết vấn đề đó, cửa sổ lọc cần được chuẩn hóa trước khi tiến hành lọc:

Trong phép biến đổi này, giá trị g(x,y) chỉ phụ thuộc vào giá trị của f(x,y), và

T trở thành hàm biến đổi mức xám Ta có biểu thức đơn giản sau:

Với r là mức xám ban đầu tại (x,y), s là mức xám sau biến đổi tại (x,y) Ví dụ: Xét hai phép biến đổi mức xám sau:

Trang 36

Hình 2.5

Với hình a, phép biến đổi cho ta ảnh sau xử lý có độ tương phản cao hơn

so với ảnh ban đầu Các giá tri mức xám r<m qua phép biến đổi được nén lại gần mức 0( tối hơn), tương tự với các giá trị r>m nhưng được nén lại gần mức 1( sáng hơn) làm ảnh sau xử lý có độ tương phản cao Phép biến đổi ở hình b nhằm biến 1 ảnh grayscale thành 1 ảnh nhị phân Ta xét mức ngưỡng m, với r<m được xét thành mức 0, và r>m xét thành mức 1

Trang 37

ảnh âm bản

c) Phép biến đổi log

Biểu thức:

s=c*log(1+r) Các giá trị r mức thấp dải hẹp qua phép biến đổi sẽ tạo ra dải rộng hơn, trong khi đó các giá trị r mức cao sẽ nén lại thành 1 dải hẹp ở ngõ ra Phép biến đổi này nhằm mục đích tăng chi tiết hóa ở vùng tối

Hình 2.7

Trang 38

d) Biến đổi theo quy tắc lũy thừa

- Với y =1, phép biến đổi là một hàm tuyến tính giữa ngõ vào và ngõ ra Đặc biệt khi c=1,ảnh ra và ảnh vào là giống nhau

- Với y>1, ta có phép biến đổi ngược so với y<1

Trang 39

Hinh 2.9

Trang 40

Hình 2.10

Ta nhận thấy y<1 làm tăng độ tương phản của hình ảnh

Trong Matlab cũng có các hàm giúp biến đổi mức xám của ảnh

grayscale g=imadjust(f,[low_in high_in], [low_out

high_out],gamma])

Hình 2.11

Ngày đăng: 31/08/2014, 07:49

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ khối của đồ án - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 1 Sơ đồ khối của đồ án (Trang 8)
Hình 1.1: Ảnh tương tự  và Ảnh số hoá  1.1.2 Hệ thống xử lý ảnh - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 1.1 Ảnh tương tự và Ảnh số hoá 1.1.2 Hệ thống xử lý ảnh (Trang 11)
Hình 1.2: Các giai đoạn chính trong hệ thống xử lý ảnh - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 1.2 Các giai đoạn chính trong hệ thống xử lý ảnh (Trang 11)
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ị - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
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ị (Trang 12)
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 - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
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 (Trang 15)
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 - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
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 (Trang 16)
Hình 1.6: Không gian màu RGB - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 1.6 Không gian màu RGB (Trang 18)
Hình 1.7: Không gian màu HSV - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 1.7 Không gian màu HSV (Trang 19)
Hình 1.8: Không gian màu YCbCr - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 1.8 Không gian màu YCbCr (Trang 19)
Hình 1.11: Ảnh của vật thể qua thấu kính - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 1.11 Ảnh của vật thể qua thấu kính (Trang 23)
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 - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
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 (Trang 23)
Hình 2.17: Lưu đồ giải thuật trên vi điều khiển - Thiết kế và thi công mobile robot bám theo đối tượng dùng phương pháp xử lý ảnh
Hình 2.17 Lưu đồ giải thuật trên vi điều khiển (Trang 51)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w