ĐỒ án tốt NGHIỆP xử lý ẢNH và điều KHIỂN XE CHẠY tự ĐỘNG

71 2.1K 7
ĐỒ án tốt NGHIỆP xử lý ẢNH và điều KHIỂN XE CHẠY tự ĐỘNG

Đ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

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH KHOA CƠ KHÍ ĐỘNG LỰC ĐỒ ÁN TỐT NGHIỆP XỬ LÝ HÌNH ẢNH VÀ ĐIỀU KHIỂN XE CHẠY TỰ ĐỘNG GVHD: TS. LÊ THANH PHÚC SVTH: TÔ THÀNH TÍN TRƯƠNG MINH HIỂU TP. Hồ Chí Minh, tháng 7/2014 10105139 10105035 Bộ Giáo Dục và Đào Tạo ĐH Sư Phạm Kỹ Thuật Tp. HCM Khoa Cơ Khí Động Lực Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam Độc lập - Tự do - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI: XỬ LÝ HÌNH ẢNH VÀ ĐIỀU KHIỂN XE CHẠY TỰ ĐỘNG GIÁO VIÊN HƯỚNG DẪN: TS. LÊ THANH PHÚC SINH VIÊN THỰC HIỆN: I. 1. TÔ THÀNH TÍN MSSV: 10105139 2. TRƯƠNG MINH HIỂU MSSV: 10105035 Nội dung : 1. Nhận dạng đường đi và hướng xử lý. 2. Xử lý ảnh và các vấn đề liên quan đến xử lý ảnh. 3. Phần mềm Labview và xử lý ảnh trên Labview. II. Trình bày : 1. Thyết minh đề tài: 1 cuốn thuyết minh 2. 1 đĩa CD ghi nội dung của đề tài “Xử lý ảnh và điều khiển xe chạy tự động ” III. Thời gian thực hiện : 1. Ngày bắt đầu : 25 - 03 - 2014 2. Ngày hoàn thành : 28 - 07 – 2014 Tp. Hồ Chí Minh, ngày…,tháng…,năm 2014 BỘ MÔN ĐIỆN TỬ Ô TÔ GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... Tp Hồ Chí Minh, ngày……, tháng……, năm 2014 GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... ...................................................................................................................................................... Tp Hồ Chí Minh, ngày……, tháng……, năm 2014 GIÁO VIÊN PHẢN BIỆN LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, nhóm chúng tôi xin gửi lời cảm ơn sâu sắc đến tất cả quý thầy cô khoa Cơ Khí Động Lực trường Đại học Sư phạm Kỹ thuật Tp Hồ Chí Minh đã tận tình giảng dạy và truyền đạt nhữngkiến thức, kinh nghiệm quý báu trong hơn bốn năm học vừa qua. Nhóm xin chân thành cảm ơn đến các thầy trong xưởng điện và xưởng động cơ đã giúp đỡ trong quá trình thực hiện đồ án. Đặc biệt xin chân thành cảm ơn giáo viên hướng dẫn - TS. Lê Thanh Phúc đã tận tình giúp đỡ nhóm trong suốt quá trình thực hiện đồ án. Cuối cùng là lời cảm ơn sâu sắc đến gia đình, người thân và bạn bè đã động viên nhóm hoàn thành nhiệm vụ đồ án được giao. Nhóm thực hiện MỤC LỤC NHẬN XÉT CỦA G IÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA G IÁO VIÊN PHẢN BIỆN LỜI CẢM ƠN MỤC LỤC DANH SÁCH CÁC HÌNH LỜI NÓI ĐẦU PHẦN A MỞ ĐẦU ................................................................................................................. 1 DẪN NHẬP.............................................................................................................................. 2 1. Đặt vấn đề ............................................................................................................................. 2 2. Mục tiêu và nhiệm vụ .......................................................................................................... 2 3. Tầm quan trọng của đề tài................................................................................................... 2 4. Đối tượng và phạm vi nghiên cứu...................................................................................... 2 4.1 Hình ảnh .............................................................................................................................. 2 4.2 Labview............................................................................................................................... 3 5. Phương pháp nghiên cứu..................................................................................................... 3 PHẦN B NỘI DUNG ............................................................................................................. 4 CHƯƠNG 1: NHẬN DẠNG ĐƯỜNG ĐI VÀ HƯỚNG XỬ LÝ ................................. 5 I. Nhận dạng theo vệt sơn đường ........................................................................................... 5 II. Hướng xử lý khi nhận dạng đường đi ............................................................................... 6 CHƯƠNG 2: XỬ LÝ ẢNH TRÊN LABVIEW ............................................................... 7 I. Xử lý ảnh và cá vấn đề cơ bản trong xử lý ảnh................................................................. 7 1.1. Xử lý ảnh và quá trình phát triển .................................................................................... 7 1.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh ........................................................... 10 II. Labview và xử lý ảnh dùng Labview.............................................................................. 11 2.1 Giới thiệu Labview .......................................................................................................... 11 2.2 Ngôn ngữ lập trình Labview........................................................................................... 13 2.2.1 Môi trường Labview .................................................................................................... 13 2.2.2 Xử lý ảnh trên Labview ............................................................................................... 18 2.2.3 Cấu trúc lập trình xử lý và xuất giá trị trong Labview............................................. 29 III. Giới thiệu Module thời gian thực NI EVS-1464RT .................................................... 48 III.1 Giới thiệu ........................................................................................................................ 48 III.2 Báo hiện đèn LED và switches DIP ............................................................................ 51 III.3 Báo hiệu đèn LED ......................................................................................................... 51 III.4 Switches DIP .................................................................................................................. 52 III.5 Các cổng kết nối của hệ thống ..................................................................................... 52 III.6 Ứng dụng hệ thống NI EVS-1464RT.......................................................................... 57 PHẦN C KẾT LUẬN .......................................................................................................... 58 KẾT LUẬN ............................................................................................................................ 59 TÀI LIỆU THAM KHẢO .................................................................................................. 60 DANH SÁCH CÁC HÌNH HÌNH Trang Hình 1.1: Đường với vạch sơn đứt trắng đen rất phổ biến và có nhiều ưu điểm vượt trội so với các loại hình ảnh khác...........................................................................................6 Hình 2.1: Cấu trúc xử lý ảnh...................................................................................................7 Hình 2.2: Tiến trình xử lý ảnh ................................................................................................8 Hình 2.3 : Thiết lập chương trình mới. ................................................................................13 Hình 2.4: Tìm các ví dụ .........................................................................................................14 Hình 2.5 : Cách thiết lập thứ nhất cho vòng lặp While .....................................................15 Hình 2.6: Cách thiết lập thứ hai cho vòng lặp While ........................................................15 Hình 2.5: Vòng lặp For ..........................................................................................................16 Hình 2.6 : Cấu trúc Case........................................................................................................16 Hình 2.7 : Hai cách thể hiện của cấu trúc chuỗi .................................................................17 Hinh 2.8 : Đoạn chương trình y=x2 +x+1 viết theo hai cách .............................................17 Hình 2.9: Địa chỉ truy cập các hàm Vision .........................................................................19 Hình 2.10 : Thư viện thiết bị camera NI-IMAQdx ............................................................20 Hình 2.11 : Thư viện tiện ích ................................................................................................21 Hình 2.12 : Thư viện quản lý ảnh.........................................................................................21 Hình 2.13: Sơ đồ chân hàm IMAQ Create ..........................................................................22 Hình 2.14 : Sơ đồ chân hàm IMAQ Dispose ......................................................................22 Hình 2.15 : Sơ đồ chân hàm IMAQ GetImageInfo ............................................................23 Hình 2.16 : Sơ đồ chân hàm IMAQ GetImageSize ...........................................................23 Hình 2.17:Sơ đồ chân hàm IMAQ Copy .............................................................................23 Hình 2.18: Thư viện quản lý tập tin .....................................................................................23 Hình 2.19: Sơ đồ chân hàm IMAQ ReadFile .....................................................................24 Hình 2.20: Sơ đồ chân hàm IMAQ WriteFile ....................................................................24 Hình 2.21: Sơ đồ chân hàm IMAQ GetFileInfo .................................................................24 Hình 2.22: Thư viện tiện ích màu.........................................................................................25 Hình 2.23: Sơ đồ chân hàm IMAQ ExtractColorPlanes ...................................................25 Hình 2.24: Sơ đồ chân hàm IMAQ GetColorPixel ............................................................26 Hình 2.25: Thư viện xử lý ảnh..............................................................................................26 Hình 2.26: Sơ đồ chân hàm IMAQ MultiThreshold ..........................................................26 Hình 2.27: IMAQ Multiply ...................................................................................................27 Hình 2.28 : IMAQ Absolute Difference..............................................................................27 Hình 2.29 : Thư viện thị giác máy .......................................................................................27 Hình 2.30: IMAQ Find Patterm 3 ........................................................................................28 Hình 2.31: Cấu trúc xử lý ảnh theo phương pháp học mẫu. .............................................29 Hình 2.32: khai báo các hàm.................................................................................................30 Hình 2.33: Lựa chọn chất lượng theo yêu cầu của đề tài và đặt tên cho khai báo. ........30 Hình 2.34: Kết nối trực tiêp dựa vào Add Sequence Local ..............................................31 Hình 2.35: Sử dụng Local Variable .....................................................................................31 Hình 2.36: Khai báo chế độ màu Green ..............................................................................32 Hình 2.37: Khai báo cho sự kết hợp hai chế độ màu .........................................................32 Hình 2.38: Khai báo cho chế độ màu Blue .........................................................................32 Hình 2.39: Khai báo cho chế độ xác nhập màu Green ......................................................32 Hình 2.40: Khai báo cho chế độ xác nhập màu Blue.........................................................32 Hình 2.41: Khai báo cho chế độ cắt ảnh..............................................................................33 Hình 2.42: Khai báo cho chế độ mở camera .......................................................................33 Hình 2.43: Khai báo thiết lập cổng camera.........................................................................33 Hình 2.44: Kết quả xử lý ảnh................................................................................................34 Hình 2.45: Quá trình tiền xử lý ảnh .....................................................................................34 Hình 2.46: Tiền xử lý tín hiệu. .............................................................................................35 Hình 2.47: Các màu và giá trị trong hàm IMAQ ExtractSingleColorPlane. ..................35 Hình 2.48: Labview nhận tín hiệu liên tục từ camera........................................................36 Hình 2.49: Hình ảnh sau khi được qua xử lý màu Green và hệ số nhân tương ứng. .....36 Hình 2.50: Camera được xử lý với hệ số nhân màu Green ...............................................37 Hình 2.51: Màu ảnh qua hệ thống tiền xử lý. .....................................................................38 Hình 2.52: Chọn thư viện tìm kiếm .....................................................................................38 Hình 2.53: Thiết lập ROI.......................................................................................................39 Hình 2.54: Thiết lập khung ROI...........................................................................................40 Hình 2.55: Giá trị “True” được thiết lập cho vòng lập ......................................................40 Hình 2.56: Bước xác định giá trị “False” cho vòng lập.....................................................41 Hình 2.57: Hình sau khi được cắt từ camera ......................................................................41 Hình 2.58: Cấu trúc lệnh tìm kiếm .......................................................................................41 Hình 2.59: Mức độ chính xác và số ảnh tìm kiếm .............................................................42 Hình 2.60: Khi yêu c ầu số ảnh tìm là 2 ...............................................................................43 Hình 2.61: Khi yêu c ầu số ảnh tìm kiếm là 1. ....................................................................43 Hình 2.62: Hệ thống xử lý hình sau khi tìm kiếm..............................................................44 Hình 2.63: Xác định tạo độ tìm kiếm. .................................................................................45 Hình 2.64: Đổi phầm trăm chiều dài....................................................................................45 Hinh 2.65: Lưu đồ xử lý số liệu tìm kiếm. ..........................................................................46 Hình 2.66: Truyền UART .....................................................................................................47 Hình 3.1: Hệ thống nhúng NI EVS-1464RT và camera....................................................48 Hình 3.2: Mô hình kết nối NI EVS-1464RT với máy tính, camera và màn hình hiển thị ..................................................................................................................................................49 Hình 3.3: Giao diện giao tiếp NI EVS-1464RT .................................................................49 Hình 3.4 : Giao diện NI VIsion Builder ..............................................................................51 Hình 3.5: Các cổng kết nối trên hệ thống............................................................................52 Hình 3.6: Giao diện cổng kết nối chuẩn IEEE 1394b........................................................53 Hình 3.7: Chức năng chân của cổng Ethernet ...................................................................54 Hình 3.8: Giao diện cổng USB trong module.....................................................................54 Hình 3.9: Chức năng chân của cổng USB...........................................................................54 Hình 3.10: Giao diện cổng xuất dữ liệu hình ảnh ..............................................................55 Hình 3.11: Chức năng chân của cổng DVI-I. .....................................................................56 Hình 3.12: Giao diện cổng cấp nguồn điện.........................................................................56 Hình 3.13 : Chức năng chân của cổng cấp nguồn. .............................................................56 Hình 3.14 :Ứng dụng của hệ thống NI EVS-1464RT .......................................................57 LỜI NÓI ĐẦU Ngày nay, nền kinh tế của nước ta đang trên đà phát triển mạnh mẽ, đời sống của người dân ngày càng nâng cao. Nhu cầu sử dụng ô tô trong đời sống sinh hoạt cũng như trong các nghành công nghiệp, nông nghiệp và dịch vụ là tăng không ngừng. Đây là cơ hội nhưng cũng là thách thức cho ngành ô tô, với việc phát triển ô tô phục vụ nhu cầu của xã hội. Một yêu cầu thiết yếu đặt ra đó chính là việc cung cấp những chiếc ô tô phuc vụ những nhiệm vụ đặc biệt. Để thực hiện được việc này, yêu cầu đặt ra là phải có những nghiên cứu mới. Ô tô đã ra đời từ rất lâu và nó ngày càng khẳng định được vai trò cũng như tầm quan trọng trong việc phát triển xã hội, nâng cao đời sống nhân dân… Vì vậy đòi hỏi yêu cầu đào tạo kỹ sư ô tô phải nắm vững kiến thức cơ bản của ô tô. Sau thời gian học tập tại trường, được sự chỉ bảo hướng dẫn nhiệt tình của thầy cô giáo trong trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, chúng tôi đã kết thúc khoá học và đã tích luỹ được vốn kiến thức nhất định. Được sự đồng ý của nhà trường và thầy cô giáo trong khoa, chúng tôi được giao đồ án tốt nghiệp “XỬ LÝ HÌNH ẢNH VÀ ĐIỀU KHIỂN XE CHẠY TỰ ĐỘNG”: Bằng sự cố gắng nỗ lực của bản thân và đặc biệt là sự giúp đỡ tận tình, chu đáo của TS. Lê Thanh Phúc, chúng tôi đã hoàn thành đồ án đúng thời hạn. Do hạn chế về thời gian và kiến thức còn nhiều hạn chế nên không thể tránh khỏi những thiếu sót. Chúng tôi rất mong nhận được sự đóng góp ý kiến của các thầy cô cũng như là của các bạn sinh viên để bài đồ án này hoàn thiện hơn. TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP PHẦN A MỞ ĐẦU Xử lý ảnh và điều khiển xe chạy tự động Trang 1 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP DẪN NHẬP 1. Đặt vấn đề Trong quá trình phát triển của khoa học công nghệ nói chung và công nghệ trên xe hơi hiện nay đòi hỏi quá trình phát triển hệ thống Giáo dục đạo tạo kỹ thuật với chất lượng đang là tiêu chí đánh giá hàng đầu hiện nay. Đi đôi với vấn đề trên là quá trình tự nghiên cứu và phát triển các công nghệ hiện có. Để làm được điều này, ngoài lực lượng cán bộ giảng dạy chuyên môn cao, các thiệt bị hiện đại, mô hình dạy học hiệu quả thì chúng ta còn cần phải có chững cách tiếp cận nội dung mới phù hợp với từng đối tượng đào tạo và quá trình tự nghiên cứu trao dồi kiến thức chuyên môn. Với các vấn đề trên nhóm chúng tôi xin thực hiện đề tài: “Xử lý hình ảnh và điều khiển xe chạy tự động” 2. Mục tiêu và nhiệm vụ Mục đích của đề tài là dựa vào phần mềm Labview xây dựng một hệ thống xử lý ảnh thu thập từ camera, xây dựng thư viện và đi theo đó là quá trình tính toán để giao tiếp với người dùng nhằm giúp xe có thể tự vận hành. 3. Tầm quan trọng của đề tài Vẫn chưa có mặt trên thị trường nhưng xe tự hành luôn là chủ đề nóng hổi của giới sản xuất xe hơi trong vài năm trở lại đây. Mục tiêu hướng tới là giảm tai nạn, hạn chế ùn tắc do sơ suất của con người. Vì thế xây dựng một hệ thống xử lý ảnh giúp xe tự vận hành là bước đi đầu tiên nhầm giúp ngành công nghệ ô tô của Việt Nam tiến bước với công nghệ hiện đại trên ô tô. 4. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu là hình ảnh ở các chế độ, phần nềm Labview. Qua đó nghiên cứu cấu trúc trong Labview nhằm xây dựng một chương trình hoàn chỉnh, đầy đủ và khả thi tiếp theo đó là quá trình giao tiếp thông qua AVR thực hiện các lệnh cài đặt theo từng hạn mục đã định. 4.1 Hình ảnh  Từ hình ảnh thu thập tính toán và xử lý thành ảnh 8-bit  Thiết lập cách hình ảnh qua xử lý tạo thư viện.  Tìm kiếm hình trong quá trình xử lý. Xử lý ảnh và điều khiển xe chạy tự động Trang 2 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP 4.2 Labview  Thu thập ảnh từ camera  Xây dựng chương trình.  Xuất tín hiệu qua cổng giao tiếp.. 5. Phương pháp nghiên cứu Đề tài được hoàn thành đã dựa vào nhiều phương pháp nghiên cứu song song trong đó phương pháp kham khảo tài liệu. Ý kiến của các thầy từ đó tìm ra hướng đi và hướng giải quyết vấn đề. Trong quá trình thực hiện nhóm cũng thực hiện nhiều phương pháp thực nghiệm, quan sát rút ra kết luận để hoàn thành tốt đề tài. Xử lý ảnh và điều khiển xe chạy tự động Trang 3 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP PHẦN B NỘI DUNG Xử lý ảnh và điều khiển xe chạy tự động Trang 4 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: NHẬN DẠNG ĐƯỜNG ĐI VÀ HƯỚNG XỬ LÝ I. Nhận dạng theo vệt sơn đường Có rất nhiều lựa chọn nhận dạng đường đi đã được nghiên cứu và đưa và khai thác như: Nhận dạng đường theo GPS, ra-da laser, âm thanh phản hồi và hình ảnh…. mỗi hướng đi đều có ưu và nhược điểm khác nhau. Và đồng thời sẽ ảnh hưởng đến kết quả sau này, khả năng thực thi và cả triển vọng ứng dụng thực tế trong tương lai. Lựa chọn một phương án nhận dạng đường là bước đầu tiên cần phải xác định rỏ ràng trước khi bước tiếp quá trình xử lý sau này. Với quy mô và khả năng kiến thức của mình nhóm đã đi theo hướng xử lý hình ảnh qua camera. Hện nay hệ thống giao thông phát triển vược bật ở nước ta, thì kèm theo đó là sự phát triển hệ thống đường nhựa trãi dài từ Nam đến Bắc là một lợi thế để ngành công nghiệp xe tự hành sử dụng xử lý ảnh có cơ hội phát triển. Để áp dụng được một mô hình đơn giản có thể thực thi được những lệnh căn bản nhất thì cần có những yêu cầu cơ bản như: sự sai khác giữa màu sơn tương đối lớn, mức độ đồng đều và chính xác về các kích thước màu, mặt đường tương đối tốt.... Bên cạnh đó lựa chọn hình ảnh để làm hình chuẩn cho quá trình nhận dạng đường đi là một lựa chọn có sự tính toán và cân nhắc cao vì sự thay đổi rất lớn trong hệ thống đường bộ, với các yêu cầu thách trức trên thì đường nét đứt là đường để thử nghiệm trong đồ án là lựa chọn có tính khả thi cao phù hợp với yêu cầu và khả năng thực hiện. Sử dụng thuật toán để nhận dạng sơn đường là sử dụng sự tương phản khác nhau giữa màu sơn và màu nhựa đường nhằm tăng tính chính xác. Xử lý ảnh và điều khiển xe chạy tự động Trang 5 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 1.1: Đường với vạch sơn đứt trắng đen rất phổ biến và có nhiều ưu điểm vượt trội so với các loại hình ảnh khác. II. Hướng xử lý khi nhận dạng đường đi Ảnh thu thập từ camera sẽ được hiệu chỉnh cho để lấy được những điểm nhấn mạnh tính đối lập giữa vệt sơn và màu nhựa đường đồng thời loại đi các hình ảnh nhiễu, thừa. Bước tiếp theo là xác định hình ảnh làm trọng tâm tìm kiếm, từ đó có thể học và tìm trên camera thực và trục tiếp để xuất ra tín hiệu vị trí tương đối của xe so với làng đường đang thực thi. Khi đã có được vị trí tương đối của xe, hệ thống điều khiển sẽ bẻ góc lái thích hợp để xe chạy trên vị trí mong muốn. Xử lý ảnh và điều khiển xe chạy tự động Trang 6 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: XỬ LÝ ẢNH TRÊN LABVIEW Xử lý ảnh và cá vấn đề cơ bản trong xử lý ảnh I. 1.1. Xử lý ảnh và quá trình phát triển Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẽ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó ngày càng đa dạng và mở rộng. Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò quan trọng nhất. Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh và đồ họa phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống. Xử lý ảnh và đồ họa đóng vai trò quan trọng trong tương lai ngành ô tô. Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốt hơn” hay một kết luận. Ảnh thu nhận Quá trình xử lý Các giá trị mong muốn Hình 2.1: Cấu trúc xử lý ảnh. Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính như nâng cao chất lượng ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từ những năm 1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh. Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh sô thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan. Xử lý ảnh và điều khiển xe chạy tự động Trang 7 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh). Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR). Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. (Máy ảnh số hiện nay là một thí dụ gần gũi). Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh. Có thể xem một ví dụ minh họa cho quá trình trên. Hình 2.2: Tiến trình xử lý ảnh Có thể hiểu tiến trình xử lý trên như sau a) Phần thu nhận ảnh (Image Acquisition) Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh. Camera thường dùng là loại quét dòng: ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh). b) Tiền xử lý (Image Processing) Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn. Xử lý ảnh và điều khiển xe chạy tự động Trang 8 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP c) Phân đoạn (Segmentation) hay phân vùng ảnh Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng. Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này. d) Biểu diễn ảnh (Image Representation) Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được. Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác. e) Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách phân loai ảnh khác nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản: - Nhận dạng theo tham số. - Nhận dạng theo cấu trúc. Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người… f) Cơ sở tri thức (Knowledge Base) Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu. Trong Xử lý ảnh và điều khiển xe chạy tự động Trang 9 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách c ủa con người. Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người. Vì vậy, đây các cơ sở tri thức được phát huy. Trong tài liệu, chương 6 về nhận dạng ảnh có nêu một vài ví dụ về cách sử dụng các cơ sở tri thức đó. 1.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh a) Điểm ảnh (Picture Element) Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng. Để xử lý bằng máy tính (số), ảnh cần phải được số hoá. Số hoá ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám). Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng. Mỗi một điểm như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel. Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x, y). Định nghĩa: Đ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. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh. b) Độ phân giải của ảnh Định nghĩa: Độ 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ị. Theo định nghĩa, 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. 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 Xử lý ảnh và điều khiển xe chạy tự động Trang 10 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP 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. c) Mức xám của ảnh Một điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và độ xám của nó. Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thường dùng trong xử lý ảnh. - Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó. - Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ dụng. Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mức xám dùng 1 byte biểu diễn: =256 mức, tức là từ 0 đến 255). - Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau. - Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1bit mô tả 21mức khác nhau. Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1. - Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thế giới màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: = ≈ 16,7 triệu. II. Labview và xử lý ảnh dùng Labview 2.1 Giới thiệu Labview LabVIEW là một ngôn ngữ lập trình hình ảnh do công ty National Instrument (NI) phát triển. Nó sử dụng các biểu tượng thay cho các dòng lệnh để tạo ra một đoạn chương trình. Trái ngược với các chương trình viết bằng các lệnh chữ, LabVIEW sử dụng kiểu lập trình theo luồng dữ liệu (dataflow programming), nơi mà các luồng của dữ liệu quyết định việc thực thi. Trong LabVIEW, người xây dựng chương trình sử dụng sẽ xây dựng giao diện người dùng bởi việc kéo các công cụ hay thực thể. Giao diện người dùng được hiểu là phần khung mà người sử dụng sẽ thao tác. Sau đó người lập trình sẽ thêm các mã chương trình bằng cách sử dụng các hàm được viết dưới dạng hình ảnh. Và các thành phần này sẽ được viết trên một giao diện gọi là sơ đồ khối (block diagram). Xử lý ảnh và điều khiển xe chạy tự động Trang 11 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP LabVIEW là một công cụ mạnh mẽ, tích hợp đầy đủ các hàm phục vụ chuẩn giao tiếp với các hệ thống thông dụng như: VXI, RS-232, USB, GPIB… LabVIEW cũng được xây dựng để kết nối với các ứng dụng với các chuẩn của Web hay các nền tảng ActiveX của Windows. Sử dụng LabVIEW, người lập trình có thể xây dựng, kiểm tra, đo lường, trao đổi dữ liệu, điều khiển… Từ việc mô phỏng trên máy tính cá nhân, người lập trình có thể kiểm tra chất lượng, tốc độ sản phẩm. Sau đó, LabVIEW cho phép người sử dụng nhúng các chương trình mang tính mô phỏng này lên hệ thống thực tế và thực thi trên một hệ thống nhúng độc lập. Các chương trình LabVIEW được gọi là các thiết bị ảo (Virtual InstrumentsVIs). Các thiết bị ảo bao gồm bốn phần chính: sơ đồ khối, khung trước, biểu tượng, và các ô kết nối. Người lập trình xây dựng khung trước bằng các khối điều khiển và hiển thị. Các khối điều khiển có thể là các nút nhấn, thanh trượt, núm xoay… Các hiển thị có thể là các biểu đồ, dòng text, LEDs, đồng hồ, nhiệt kế. Các khối điều khiển của LabVIEW được xây dựng với các điều khiển gần giống với thực tế nhất có thể, chúng có nhiệm vụ cung cấp dữ liệu cho việc xử lý, hỗ trợ người dùng dễ dàng thay đổi dữ liệu. Các hiển thị có nhiệm vụ hiển thị dữ liệu sau khi xử lý tùy theo mục đích của người dùng. Sau khi xây dựng khung trước, người lập trình cần xây dựng các thuật toán, thao tác xử lý trên các sơ đồ khối. Sơ đồ khối của một chương trình bao gồm các biểu tượng của các đoạn mã, các đầu cuối điều khiển, đầu cuối hiển thị, các cấu trúc điều khiển, vòng lặp, hằng số, và các dây nối. Dây nối là thành phần quan trọng trong sơ đồ khối để nối các thành phần lại với nhau. Các thành phần này phải có cùng kiểu dữ liệu ra-vào. Các kết nối các thiết bị ảo hỗ trợ việc xây dựng các hàm con (SubVIs). Chúng có thể được gọi ở các chương trình lớn hơn. Nhưng để sử dụng được các khối này, người sử dụng cần xây dựng thêm các ô kết nối để định nghĩa kiểu dữ liệu vào ra cho một hàm con đã xây dựng. Xử lý ảnh và điều khiển xe chạy tự động Trang 12 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM 2.2 Ngôn ngữ lập trình Labview 2.2.1 Môi trường Labview ĐỒ ÁN TỐT NGHIỆP a) Hộp thoại khởi động Khi mở labview sẽ xuất hiện hộp thoại như khởi động, tại đây người dùng chọn các ứng dụng cần thiết đối với công việc cần thực hiện. Hộp thoại sẽ cho người lập trình lựa chọn các tùy chọn chính sau. - Create Project : tạo một dự án mới. - Open Existing: mở các tệp hiện tại. Có hai lựa chọn cần quan tâm và thiết yếu trong khi bắt đầu làm việc với Labview . - File New VI : thiết lập chương trình mới. Hình 2.3 : Thiết lập chương trình mới. - Help Find Example : tìm các ví dụ. Xử lý ảnh và điều khiển xe chạy tự động Trang 13 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.4: Tìm các ví dụ Được xây dựng một cách đầy đủ và hệ thống các ví dụ. Find Example sẽ giúp người lập trình tìm được các code có sẵn hướng dẫn một cách nhanh chóng góp phần cho người mới tiếp cận và xây dựng thuật toán một cách hiệu quả mang tính thực thi cao. Để tìm được các ví dụ này cần phải tìm kiếm đúng các từ khóa ứng với yêu cầu của chương trình. Các ví dụ chỉ được tìm thấy khi các Kit đã được cài đặt và khả dụng trong chương trình. b) Các vòng lặp, điều kiện trong LabVIEW Vòng lặp, cấu trúc điều kiện là một thành phần không thể thiếu trong vấn đề lập trình. Trong LabVIEW các vòng l ặp, điều kiện được tái hiện dưới dạng hình ảnh cấu trúc. Sử dụng các cấu trúc trong sơ đồ khối giúp lặp lại các tiến trình, điều khiển dựa vào điều kiện và cho các mục đích đặc biệt khác. LabVIEW có 5 vòng lặp, cấu trúc cơ bản: vòng lặp While (While Loop), vòng l ặp For (For Loop), c ấu trúc Case (Case Structure), cấu trúc chuỗi (Sequence Structure), nút cách thức (Formula Node). Xử lý ảnh và điều khiển xe chạy tự động Trang 14 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM - Vòng lặp While có ký hiệu ĐỒ ÁN TỐT NGHIỆP trong bảng hàm. Tùy vào cách thức thiết lập mà vòng lặp điều kiện sẽ có hai cách chạy như sau: Hình 2.5 : Cách thiết lập thứ nhất cho vòng lặp While - Số lần lặp của vòng lặp để thực hiện chương trình con. Trong một số ví dụ có thể sử dụng số lần lặp này để thực hiện các thao tác liên quan đến xử lý con số tăng giảm theo từng yêu cầu bài toán. - Chương trình chỉ dừng khi nút stop được nhấn. - Cách thiết lập thứ 2. Hình 2.6: Cách thiết lập thứ hai cho vòng lặp While Xử lý ảnh và điều khiển xe chạy tự động Trang 15 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP - Số lần lặp của vòng lập để thực hiện chương trình con. - Vòng lặp chỉ thực hiện khi điều kiện đúng. - Vòng lặp For Trong bảng hàm của LabVIEW vòng lặp for có ký hiệu . Vòng lặp For sẽ thực thi chương trình N lần với biến I tăng liên tục trong khoảng [0, N-1]. Hình 2.5: Vòng lặp For - Cấu trúc Case Cấu trúc Case của LabVIEW được ký hiệu trong bảng hàm. Hình 2.6 : Cấu trúc Case Cấu trúc Case của LabVIEW cũng tương t ự như cấu trúc Case trong C/C++. Khi các điều kiện đặt vào đúng thì sẽ thực hiện các chương trình con trong điều kiện tương ứng. - Cấu trúc chuỗi Cấu trúc chuỗi trong LabVIEW dùng để tạo ra các đoạn chương trình con trong các đoạn chương trình chính, mục đích của việc dùng cấu trúc này để gói gọn chương trình và dễ dàng điều khiển việc sử dụng các biến, các ô nhớ. LabVIEW cung cấp hai dạng chuỗi có cùng chức năng đó là: Chuỗi phẳng (Flat Sequence) và chuỗi ngăn xếp (Stacked Sequence). Xử lý ảnh và điều khiển xe chạy tự động Trang 16 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.7 : Hai cách thể hiện của cấu trúc chuỗi Các cấu trúc chuỗi đều thực thi các đoạn chương trình con bên trong nó. Các chương trình con sẽ thực thi từ trái sang phải đối với chuỗi phẳng và thực thi từ ngăn xếp thứ 0 đối với chuỗi ngăn xếp. - Nút cách thức Nút cách thức được ký hiệu bên trong bảng hàm. Nút này là một hỗ trợ đắc lực của LabVIEW đối với người lập trình. Với nút này người lập trình hoàn toàn có thể viết ngôn ngữ C bên trong LabVIEW. Khi người sử dụng chưa hoàn toàn quen với việc sử dụng LabVIEW, đây là một công cụ giúp người sử dụng không quá phụ thuộc vào việc kết nối của LabVIEW. Hinh 2.8 : Đoạn chương trình y=x2+x+1 viết theo hai cách Ngoài các cấu trúc đã nêu ở trên bên trong thư viện lập trình của LabVIEW còn có các cấu trúc khác hỗ trợ lập trình dễ dàng hơn trong LabVIEW như: c ấu trúc vô hiệu hóa khối (Diagram Disable Structure), cấu trúc vô hiệu hóa điều kiện (Conditional Disable Structure), c ấu trúc thời gian (Timed Structure)… Xử lý ảnh và điều khiển xe chạy tự động Trang 17 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP 2.2.2 Xử lý ảnh trên Labview Để hỗ trợ người dùng trong các lĩnh vực nhất định, National Instrument cung cấp các gói phần mềm tương ứng nhằm hỗ trợ các hàm thông dụng, cũng như là các kết nối vào ra tương ứng trên các KIT. Trong phần này người thực hiện đề tài sẽ giới thiệu cơ bản nhất các hàm, các điều khiển và các hiển thị sử dụng trong phạm vi đề tài. - Thư viện VIsion trong bảng điều khiển Như phần trên có đề cập, bảng điều khiển là nơi để xây dựng các khối hiển thị hay điều khiển. Thư viện VIsion trong bảng điều khiển bao gồm: - IMAQ Image.ctl dùng định nghĩa các mô tả về kiểu dữ liệu của hình ảnh. Hai khối Image Display Control và Image Display Control (Classic) dùng để hiển thị các hình ảnh thu được. Sử dụng hay khối này, người lập trình có thể theo dõi chi tiết từng điểm ảnh cũng như thực hiện một số quát trình xử lý cơ bản dùng cho mục đích sửa lỗi chương trình. Ngoài ra trong thư viện VIsion còn có các thư viện con như IMAQ VIsion Controls hay Machine VIsion Controls dùng để tạo các điều khiển thao tác trực tiếp trên VIs. - Thư viện “VIsion and Motion” trong bảng hàm Về tổng quát thư viện VIsion trong bảng hàm có thư viện ứng với từng mục đích cụ thể của xử lý ảnh như là: các thư viện giao tiếp thiết bị (NI-IMAQ, NIIMAQdx, NI-IMAQ I/O), thư viện tiện ích (VIsion Utilities), thư viện xử lý ảnh (Image Processing), thư viện thị giác máy (Machine VIsion), thư viện xử lý nhanh (VIsion Express). Xử lý ảnh và điều khiển xe chạy tự động Trang 18 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.9: Địa chỉ truy cập các hàm Vision a. Thư viện thiết bị Đây là thư viện mà người lập trình dùng để lấy thông tin từ Camera, cũng như là lấy ảnh hay Video từ Camera. Thư viện này gồm các thư viện con là NI-IMAQ và NI-IMAQdx. Tuy nhiên, hai thư viện NI-IMAQ và NI-IMAQdx tương tự nhau về chức năng, tuy nhiên, khối NI-IMAQ chỉ điều khiển được các Camera từ các bo PCI của National Instrument. Để sử dụng được các Camera hay Webcam từ máy tính hay các Module khác cần chú ý thiết lập thông số với thư viện NI-IMAQdx. Xử lý ảnh và điều khiển xe chạy tự động Trang 19 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.10 : Thư viện thiết bị camera NI-IMAQdx Về thu thập hình ảnh có các hàm đáng quan tâm sau. - Hàm Enumerate Cameras cho phép người dùng LabVIEW thống kê tất cả các Camera đang được kết nối với máy tính hay Module sử dụng LabVIEW. Hàm này cũng cung cấp tất cả các thông tin cơ bản về Camera như tên, loại, số series, cổng mà camera đang kết nối… - Hàm Open dùng để mở Camera với cổng kết nối được lựa chọn từ hàm Enumerate Cameras. - Hàm Configure Grab sẽ tạo các thiết lập ban đầu cho việc thu nhận ảnh một cách liên tục (Grab). - Hàm Snap thực hiện việc chụp ảnh. - Hàm Grab thực hiện việc lấy ảnh liên tục. Tuy nhiên để lấy ảnh liên tục cần có vòng lặp vô hạn để hàm có thể lập lại. - Hàm Close sẽ đóng các giao điện kết nối mà người sử dụng muốn, giúp giải phóng tài nguyên cho việc điều khiển, trao đổi dữ liệu với Camera. Xử lý ảnh và điều khiển xe chạy tự động Trang 20 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP b. Thư viện tiện ích (VIsion Utilities) Hình 2.11 : Thư viện tiện ích Thư viện tiện ích (VIsion Utilities) cho phép người lập trình thực hiện các thao tác cơ bản về biển đổi ảnh, mở ảnh, lưu ảnh, tìm kiếm ảnh… Nó bao gồm các thư viện con: Thư viện quản lý ảnh (Image Management), thư viện tập tin (Files), thư viện hiển thị ảnh (External Display), thư viện về vùng quan tâm (Region of Interest), thư viện phục vụ thao tác người sử dụng (Image Manipulation và Pixel Manipulation), thư viện phủ (Overlay), thư viện thước đo (Calibration), thư viện tiện ích màu (Color Utilities) và thư viện cho các thiết bị thời gian thực (VIsion RT). c. Thư viện quản lý ảnh Hình 2.12 : Thư viện quản lý ảnh Xử lý ảnh và điều khiển xe chạy tự động Trang 21 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Thư viện quản lý ảnh hỗ trợ lập trình về các xử lý biến đổi cơ bản của một ảnh, tạo vùng nhớ tạm thời cho một ảnh… Thư viện này có một số hàm quan trọng mà hầu hết các chương trình xử lý ảnh sử dụng LabVIEW đều phải sử dụng như: - IMAQ Create: tạo vùng nhớ tạm thời cho một ảnh. Đây là hàm mà tất cả mọi chương trình xử lý ảnh với LabVIEW đều dùng. Nó cho phép phân ho ạch một vùng nhất định trên bô nhớ để thực hiện xử lý. Hình 2.13: Sơ đồ chân hàm IMAQ Create Hàm này yêu cầu người sử dụng phải đặt tên cho ảnh cần tạo tại đầu vào Image Name. Tên này không phải là tên hiển thị của ảnh mà chỉ là tên để phân biệt vùng nhớ tạm thời của các ảnh khác nhau. Ngoài ra, bằng việc thay đổi loại ảnh (Image Type) mà người lập trình hoàn toàn có được một số ảnh chuẩn của LabVIEW như ảnh xám, ảnh màu RGB hay ảnh màu HSI… - Trái ngược với IMAQ Create, IMAQ Dispose sẽ hủy vùng nhớ tạm thời đã cấp cho ảnh (Image) tương ứng hoặc người lập trình có thể chọn hủy tất cả các ảnh bằng cách đặt chế độ đúng (Yes) cho chân “All Image?” . Hàm này cần thiết khi người lập trình thao tác với nhiều ảnh mà tài nguyên bộ nhớ máy thấp. Hình 2.14 : Sơ đồ chân hàm IMAQ Dispose - IMAQ GetImageInfo trả về tất cả thông tin của ảnh như độ phân giải ngang (X Resolution), độ phân giải dọc (Y Resolution), loại ảnh (Image Type), đơn vị đo lường ảnh (Unit)… Xử lý ảnh và điều khiển xe chạy tự động Trang 22 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.15 : Sơ đồ chân hàm IMAQ GetImageInfo - IMAQ GetImageSize trả về độ phân giải lớn nhất của ảnh về chiều ngang (X Resolution) và chiều dọc (Y Resolution). Hình 2.16 : Sơ đồ chân hàm IMAQ GetImageSi ze - IMAQ Copy sẽ hỗ trợ người sử dụng khi muốn xử lý trên ảnh gốc, và sau khi xử lý cần đem so sánh với ảnh lúc ban đầu. Khối IMAQ Copy sẽ tạo một ảnh nhân bản, việc xử lý sẽ không ảnh hưởng đến ảnh gốc lúc đầu. Hình 2.17:Sơ đồ chân hàm IMAQ Copy Khi sử dụng khối IMAQ Copy, ảnh nguồn (Image Scr) là ảnh cần sao chép, ảnh đích (Image Dst) là vùng nhớ tạm thời cung cấp cho ảnh đích. Ảnh đích ngõ ra (Image Dst Out) là ảnh đã sao chép. Ảnh nguồn và ảnh đích ngõ ra giống nhau nhưng không có liên kết với nhau. d. Thư viện quản lý tập tin Hình 2.18: Thư viện quản lý tập tin Xử lý ảnh và điều khiển xe chạy tự động Trang 23 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Thư viện quản lý tập tin hỗ trợ người sử dụng thao tác với các tập tin hình ảnh được lưu trên ổ đĩa cứng như: lưu ảnh, mở ảnh, mở hộp thoại lưu ảnh, lấy thông tin ảnh… - IMAQ ReadFile cho phép đọc hầu hết các định dạng ảnh được lưu trên ổ đĩa cứng như (BMP, TIFF, JPEG, JPEG2000, PNG và AIPD). Khi sử dụng IMAQ ReadFile cần đưa vào bộ nhớ đệm được tạo sẵn từ khối IMAQ Create và đưa vào chân hình ảnh (Image), đường dẫn (File Path) là các ký tự chỉ vị trí ảnh được lưu Hình 2.19: Sơ đồ chân hàm IMAQ ReadFile - IMAQ WriteFile sẽ ghi ảnh từ bộ nhớ đệm xuống một đường dẫn có sẵn. Ảnh từ bộ nhớ đệm sẽ được đưa vào ngõ ảnh (Image). Ngõ ảnh và đường dẫn (File Path) là hai giá trị bắt buộc phải đưa vào. Hình 2.20: Sơ đồ chân hàm IMAQ WriteFile - IMAQ GetFileInfo sẽ cho các thông tin về ảnh như độ phân giải (X Resolution và Y Resolution), loại tập tin (File Type), loại ảnh (Image Type) cũng như là loại dữ liệu của ảnh (File Data Type). Hình 2.21: Sơ đồ chân hàm IMAQ GetFileInfo Xử lý ảnh và điều khiển xe chạy tự động Trang 24 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP e. Thư viện tiện ích màu Hình 2.22: Thư viện tiện ích màu Thư viện tiện ích màu sẽ hỗ trợ người dùng, trích xuất một không gian c ủa 1 bức ảnh màu, thay thế màu, đặt màu, chuyển các ảnh màu thành chuỗi và ngược lại… Đây là một công cụ xử lý lúc đầu nếu như người lập trình muốn thao tác trên ảnh màu. Thư viện này có một số hàm đáng chú ý: - IMAQ ExtractColorPlanes cho phép người lập trình lấy ra các mô hình màu (RGB, HSL, HSV hay HIS) từ một bức ảnh đã lưu được. Hình 2.23: Sơ đồ chân hàm IMAQ ExtractColorPlanes Với hàm IMAQ ExtractColorPlanes thì chỉ cần đưa ảnh vào ở nguồn ảnh (Image Scr) và lựa chọn một trong các mô hình trên thì các ngõ ra tương ứng là các thành phần tương ứng của một bức ảnh mà mô hình màu thể hiện. Và để đơn giản hơn cho việc sử dụng hàm, có thể sử dụng hàm IMAQ ExtractSingleColorPlane để trích xuất một thành phần của ảnh. - Để có giá trị của các thành phần R, G, B của từng điểm ảnh tùy thuộc vào tọa độ (X Coordinate và Y Coordinate), người lập trình có thể dùng hàm IMAQ GetColorpixel. Hay người lập trình cũng có thể thiết lập lại giá trị của thành phần R, G, B của điểm ảnh với hàm IMAQ SetColorpixel. Xử lý ảnh và điều khiển xe chạy tự động Trang 25 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.24: Sơ đồ chân hàm IMAQ GetColorPixel f. Thư viện xử lý ảnh Hình 2.25: Thư viện xử lý ảnh Thư viện xử lý ảnh trong LabVIEW cung cấp tương đối đầy đủ cho người lập trình các hàm cơ bản để xử lý ảnh như: các hàm lấy ngưỡng, tìm ngưỡng, biến đổi ngưỡng, các bộ lọc ảnh, các phép biến đổi hình thái, các phép phân tích ảnh, các xử lý ảnh màu, các phép toán ảnh, các biến đổi trên miền tần số… - IMAQ MultiThreshold là phép biến đổi đa ngưỡng. Tất cả các giá trị của điểm ảnh nằm trong ngưỡng do người sử dụng quy định sẽ được biến đổi về giá trị định trước, các điểm ngoài ngưỡng sẽ về giá trị 0. Hình 2.26: Sơ đồ chân hàm IMAQ MultiThreshold Hàm IMAQ MultiThreshold gồm hai ngõ vào bắt buộc là: nguồn ảnh cần biến đổi (Image Src), và ngưỡng cần lấy (Threshold Data). Ảnh sau khi biến đổi ngõ ra (Image Dst Out) sẽ là ảnh nguồn sau khi biến đổi, hoặc ảnh tham chiếu ngõ vào (Image Dst) nếu ảnh tham chiếu ngõ vào được kết nối. Xử lý ảnh và điều khiển xe chạy tự động Trang 26 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM - ĐỒ ÁN TỐT NGHIỆP IMAQ Multiply là phép toán cho phép bạn tỉ lệ thức giữ hình ảnh muốn hiệu chỉnh với hình ản gốc với hệ số nhân. Hình 2.27: IMAQ Multiply Để thay đổi mức tỉ lệ thức theo mức số nhân dựa vào tỉ lệ Constant đưa vào. - IMAQ Absolute Difference cho phéo ta phổi hợi các hình hảnh đã hiệu chỉnh lại với nhau. Hình 2.28 : IMAQ Absolute Difference Thư viện thị giác máy Hình 2.29 : Thư viện thị giác máy Xử lý ảnh và điều khiển xe chạy tự động Trang 27 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Thư viện thị giác máy cung cấp các hàm hỗ trợ một số tác vụ xử lý trên các hệ thống xử lý, phân tích ảnh như: thư viện vùng quan tâm, thư viện tọa độ, đếm và đo lường vật thể, tìm kiếm mẫu, thước đo… Trong khuôn khổ đề tài đồ án, người thực hiện xin trình bày một số hàm sử dụng như sau: - IMAQ Find Patterm 3 cho phép tìm kiếm hình ảnh từ hình đã xác định trước. Hình 2.30: IMAQ Find Patterm 3  là hình ảnh được đưa vào để tìm kiếm. Hình này có thể là hình đã lưu trong thư mục hoặc lưu tạm thời trên bộ nhớ, nếu lưu tạm thời thì khi bắt đầu tìm kiếm thì hàm sẽ yêu cầu và dừng chương trình vì thế khi bắt đầu chương trình phải tạo thư viện ảnh cho hàm.   hình ảnh ta muốn thực thi lên. Có thề là hình ảnh hoặc camera. Ngõ vào này được thiết lập khi muốn có các giá trị tìm kiếm như tọa độ, góc quay. Bắt buộc phải thực hiện lệnh này để hiện thị khi tìm thấy các giá trị mong muốn và định dạng giá trị ngõ ra .  cho phép người dùng thực hiện cài đặt tìm kiếm của mình như số ảnh có thể tìm kiếm, mức độ chình xác. Thay đổi trong quá trình thực nghiệm là điều cần thiết khi hoạt động trên các loại môi trường khác nhau.  hiện thị các giá trị đã thiết lập. Giá trị hiển thị sẽ cung cấp đầy đủ các yêu cầu sau khi quá trình tìm kiếm kết thúc và dựa vào số liệu này ta có thể thiết lập các chương trình tiếp theo để hoàn thiện chương trình. Xử lý ảnh và điều khiển xe chạy tự động Trang 28 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP 2.2.3 Cấu trúc lập trình xử lý và xuất giá trị trong Labview Ảnh thu thập từ camera Chuyển thành ảnh xám Thiết lập hình mẫu Tìm kiếm Xử lý và xuất giá trị Hình 2.31: Cấu trúc xử lý ảnh theo phương pháp học mẫu. Có nhiều phương pháp xử lý hình ảnh khác nhau, trong đó phương pháp học mẫu là phương pháp đơn giản dễ thực hiện nhất. Chỉ cần tìm kiếm hình đã được ấn định, sau đó tìm kiếm hình đã lưu, tùy thuộc vào thư viện và mức độ chính xác ta có thể tìm được hình ảnh mong muốn, tiếp theo đó là xuất giá trị vị trí ảnh dựa vào số pixel treo các chiều trục tọa độ, qua quá trình tính toán và chuyển đổi, giá trị được xuất ra một cỗng com có xác định. Đã có những thư viện ãnh có sẵn sẽ giúp cho chúng ta đi sâu vào nghiên cứu cấu trúc Labview giúp cho thuật toán được nhỏ gọn và hiệu suất cao. Thay vào đó nếu như thay hình ảnh bằng âm thành thì sẽ đưa chúng ta đi những bước tiến xa hơn đến công nghệ xe tự động và hệ thống tự vận hành bằng giọng nói. a. Khai báo Ở mỗi một hàm thì cần phải khái báo trước thi đưa vào sử dụng tương tự lập trình trong C/C+, khi khai báo cần phải đặt các biến khác nhau và lựa chọn chất lượng hình ảnh theo kèm. Vì khai báo nên các giá trị không chạy xuyên suốt chương trình ta không cần phải đặt trong hàm While tránh gây tổn hao bộ nhớ không cần thiết. Ở chương trình nhóm đặt khai báo trong cấu trúc chuổi ở bước (0): Bước đầu tiên. Xử lý ảnh và điều khiển xe chạy tự động Trang 29 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.32: khai báo các hàm Khi khai báo hình ảnh ta cần phải quan tâm chất lượng hình ảnh, vì mục đích hướng tới là đưa về ảnh xám nên ta lựa chọn tất cả các giá trị là Grayscale (U8). Mỗi một hàm cần phải có tên khác nhau để tránh gây nhầm lẫn. Hình 2.33: Lựa chọn chất lượng theo yêu cầu của đề tài và đặt tên cho khai báo. Xử lý ảnh và điều khiển xe chạy tự động Trang 30 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Khi khai báo hoàn tất để đường truyền được xuyên suốt thì phải nối dây để lệch hàm được thực thi. Sử dụng Add Sequence Local để dòng truyền được đi đi tiếp, nếu không sử dụng lệnh này chương trình sẽ bị ngắt quãng. Hình 2.34: Kết nối trực tiêp dựa vào Add Sequence Local Khi sử dụng lệnh Add Sequence Local có thể thấy ngay ưu điểm là rất dễ thấy được dòng truyền và đơn giản trong công tác sửa chữa, xây dựng chương trình. Nhưng khi thực thi một chương trình với hàng chục hàm thì đây là mối nguy hiểm lớn, các Add Sequence Local đan xen vào nhau, các đây rất nhiều làm rối người lập trình. Để có thể thực hiện như C/C+ khi khai báo xong có thể lấy ra sử dụng bất cứ khi nào cần phải sử dụng đến Local Variable, các biến địa phương này được thực hiện một cách đơn giản nhưng thuận tiện, không một giây nào được kết nối nhưng dữ liệu lại được truyền tải chính xác. Hình 2.35: Sử dụng Local Variable Không những thực hiện trong khai báo, ta cũng có thể sử dụng biến địa phương trong hình ảnh, số liệu… đều có thể thực thi dễ dàng. Để làm được điều này kích chuột phải lên đối tượng muốn làm biến create Xử lý ảnh và điều khiển xe chạy tự động Local Variable. Trang 31 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Tương tự ta thực hiện khai báo các biến cho hàm màu Green, Blue, trộn màu, cắt ảnh…. - Khai báo cho chế độ màu Green. Hình 2.36: Khai báo chế độ màu Green - Khai báo cho sự kết hợp hai chế độ màu. Hình 2.37: Khai báo cho sự kết hợp hai chế độ màu - Khai báo cho chế độ màu Blue. Hình 2.38: Khai báo cho chế độ màu Blue - Khai báo cho chế độ xác nhập màu Green. Hình 2.39: Khai báo cho chế độ xác nhập màu Green - Khai báo cho chế độ xác nhập màu Blue. Hình 2.40: Khai báo cho chế độ xác nhập màu Blue Xử lý ảnh và điều khiển xe chạy tự động Trang 32 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM - ĐỒ ÁN TỐT NGHIỆP Khai báo chế độ cắt ảnh. Hình 2.41: Khai báo cho chế độ cắt ảnh - Khai báo chế độ mở camera. Hình 2.42: Khai báo cho chế độ mở camera - Khai báo thiết lập cổng camera. Hình 2.43: Khai báo thiết lập cổng camera. Ta sự dụng thêm hàm chỉnh lại độ nhiểu của hình ảnh đi kèm vì có nhiều sự phản sạ trong hình ảnh, hàm này giúp ảnh hiện thị rỏ nét và tốc độ nhanh hơn. b. Xử lý tín hiệu hình Hình ảnh thu thập từ camera bị phụ thuộc rất nhiều ánh sáng mặt trời, thời tiết, phản xạ ánh sáng của mặt đường vì thế thiết kể một bức hình phủ hợp cho việc tiềm kiếm là việc đầu tiên cần phải thực hiện. Có nhiều cách lựa chọn để xử lý một hình ảnh cho phù hợp với các đề tài khác nhau, ở đây nhóm chọn phương án đảo ngược ảnh xám để xây dựng một hình ảnh có thể thực thi được. Xử lý ảnh và điều khiển xe chạy tự động Trang 33 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.44: Kết quả xử lý ảnh Để thực hiện được xử lý ảnh này cần phải qua nhiều bước thực nghiệm và tính toán chính xác giá trị màu của từng ảnh, nếu không nhiễ sẽ gây ra rất nhiều khó khăn. Hình trên được thực hiện khi ta ghép 2 màu trong 3 mày cơ bản đó là màu xanh lá và màu xanh da trời, tùy thuộc vào mức độ của từng màu mà kết quả thu được sẽ khác nhau và sẽ có thêm các hình ảnh nhiễu đi kèm. Để thực hiện được các yêu cầu gắt gao trên nhóm thực hiện và xây dựng một cấu trúc xử lý như hình 2.11 Hình thu thập từ camera Lấy màu Green từ camera Lấy màu Blue từ camera Tính toán hệ số phụ thuộc màu Green Tính toán hệ số phụ thuộc màu Blue Hình đã được lọc và phân lớp Hình 2.45: Quá trình tiền xử lý ảnh Xử lý ảnh và điều khiển xe chạy tự động Trang 34 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Tiếp tục sử dụng các biến địa phương làm lợi thế cho xử lý tín hiện hình ảnh vốn đã nặng nếu như hình ảnh liên tục, để sử dụng ưu điểm của Labview có thể thay đổi giá trị trong quá trình chạy chương trình, ta thay các giá trị tính toán bằng các thanh trượt, giúp tăng nhanh khả năng đáp ứng trong nhiều môi trường có lượng bức xạ mặt trời khác nhau. Hình 2.46: Tiền xử lý tín hiệu. Cách lấy màu của Labview được tích hợp sẵn trong một hàm IMAQ ExtractSingleColorPlane, hàm này được tích hợp rất nhiều màu mà từ các ứng dụng khác nhau có thể lấy các màu khác nhau. Chính lúc này hình ảnh từ 32-bit chuyển thành 8-bit như các biến đã định ở trước, giúp cho chương trình giảm tải được chất lượng hình, đồng thời làm cho chương trình thực hiện không gian xa hơn do tải thấp hơn. Hình 2.47: Các màu và giá trị trong hàm IMAQ ExtractSingleColorPlane. - Labview nhận tín hiệu liên tục từ camera chưa xử lý. Xử lý ảnh và điều khiển xe chạy tự động Trang 35 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.48: Labview nhận tín hiệu liên tục từ camera. Hình ảnh là vạch đường dùng để nhận dạng trong quá trình xử lý, có thể thấy đâu là hình 32bit, nếu đưa và xử lý thì khối lượng bộ nhớ rất nặng và độ chình xác không được cao vì mức độ trùng màu rất lớn và những màu tương tự rất nhiều. Hình ảnh một phần cũng phụ thuộc vào chất lượng camera, và tốc độ tryền của camera, màn hình xử lý. Khi các yêu cầu trên được cải thiện thì độ nhiễu sẽ giảm rỏ rệt và khả năng nhận dạng làn đường càng lớn. - Sau khi nhận tín hiệu từ camera dòng truyền sẽ đi thành hai đường qua hệ thống sử lý mày Green và Blue và dòng truyền tiếp tục được qua hệ số nhân với tỉ lệ nhân được xác định , xuất ra camera với Hình 2.49 . Hình 2.49: Hình ảnh sau khi được qua xử lý màu Green và hệ số nhân tương ứng. Xử lý ảnh và điều khiển xe chạy tự động Trang 36 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Mỗi một môi trường và điều kiện khác nhau ta lại lìm được một hệ số khác nhau, ở đây là 6.56522. Số này nói lên trong thanh 10 thì mức độ hình là 6.56522. Tương đương tỉ lệ phần trăm hình Green trong hình nhận được. - Dòng truyền thứ hai qua xử lý màu Blue được thông qua hệ số nhân, thu được kết quả như hình 2.50. Hình 2.50: Camera được xử lý với hệ số nhân màu Green Kết quả thu được là màu trắng sữa. Nhưng ở đây là màu trắng lấy từ camera, là mức độ ánh sáng Green được trích ra. Hệ số được xác định cho màu Green là 1.0084. Ở bước này là quan trọng nhất, vì chất lượng đầu ra sẽ ảnh hưởng đến cả hệ thống, nếu như hiệu chỉnh không đúng thì nhiễu là vấn đề sẽ gặp phải, các hình ảnh không đồng bộ, bị cắt và mất bì bức xạ của mặt đường, Để thực hiện tốt khâu tiền xử lý đòi hỏi người lập trình cần phải thay đổi nhiều lần cấu trúc của các hàm, thay thế nhiều hàm khác nhau, đọc và tìm kiếm trong phần Example để tìm ra hướng giải quyết thích hợp. Tất cả đều nằm trong thư viện tiện ích màu được Labview tính toán và đưa ra sẵn. Xử lý ảnh và điều khiển xe chạy tự động Trang 37 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP - Khi đã phân chia được màu Green và Blue ta kếp hợp hai phân ảnh lại để được kết quả như mong muốn. Hình 2.51: Màu ảnh qua hệ thống tiền xử lý. Đây là một kết quả mong muốn với hình 8-bit. Mức độ tương phản của 2 màu lớn tạo điều kiện cho quá trình tìm kiếm mức độ chính xác cao. Hình ảnh qua bước tiền xử lý hầu như nhiễu không còn. Thay vào đó là sự đối lập màu cao giữa trắng và đen là màu điển hình để có thể nhận dạng đường. c. Thiết lập thư viện tìm kiếm Hình 2.52: Chọn thư viện tìm kiếm Xử lý ảnh và điều khiển xe chạy tự động Trang 38 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP ROI là chức năng thiết lập khung hình trên hình ảnh đang chọn, một ưu điển của ROI là có thể thực thi ngay khi chương trình đang chạy, giúp cho dòng truyền được liên tục. ROI được định nghĩa là hình chử nhật Thư viện tìm kiếm trên nếu như được xây dựng lâu dài với các hình ảnh là các biển báo tín hiệu, các biển cấm, làng đường ưu tiên, biển báo rẽ… sẽ góp phần không nhỏ cho người lái xe tránh các lỗi đơn giản. Như được biết trên thế giới có rất nhiều cơ sở nghiên cứu đã xây dựng một thư viện hình ảnh lớn góp phần nâng cao chất lượng của xử lý ảnh hiện nay và tương lai. Sau khi thiết lập được thư viện hình ảnh, ảnh sẽ được lưu. Ở bước này mỗi một cấu điều khiển sẽ được người lập trình tính toàn khác nhau, ở đây nhóm chọn phương án sử dụng biến địa phương để thực thi vì lý do thư viện không chứa nhiều hình nên có thể lấy làm ảnh chuẩn mak không cần phải gọi hình và để tiết kiệm bộ nhớ cho các hàm chuyên sâu khác. - Để chọn được thư viện tìm kiếm sử dụng ROI có chức năng xác định vùng chọn. Chọn hình ảnh cần tương tác Create Property Node ROI, được thục hiện như hình. Hình 2.53: Thiết lập ROI Để thực hiện được ROI ta phải thiết lập vùng chọn trên ảnh muốn thực thi, nếu như không thiết lập hệ thống sẽ quy định toàn bộ khung hình sẽ được lấy . Nếu như thiết lập vùng chọn thì hình chọn phải có diện tích xác định. Cấu trúc này là điều cần Xử lý ảnh và điều khiển xe chạy tự động Trang 39 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP thiết nhất cho chọn thư viện, khi giá trị ROI được thiết lập sẽ trả về giá trị kích thước hình chử nhật. Sau khi có vùng chọn ROI sẽ cung cấp đầy đủ thông tìn về vùng chúng ta chon, như chiều dài, chiều rộng, vị trí tương ứng với tọa độ hiện có của khung chọn. Giá trị này sẽ được giữ cho đến khi nút nhấn được thiết lập và giá trị True được trả về cho vòng lập, các thông số này sẽ được trả về cho hàm IMAQ Extract VI, hàm trên sẽ cắt một hình tương ứng với giá trị thiết lập đồng thời sẽ lưu trong vùng chúng ta xác định trên máy tính. Hình 2.54: Thiết lập khung ROI Khi nút nhấn được bấm vòng lập có giá trị “True” sẽ thực thi lệnh lưu hình ảnh Hình 2.55: Giá trị “True” được thiết lập cho vòng lập Trong vòng lập có hai bước thực hiện bước thứ nhất là lưu hình và bước tiếp theo là tắt chế độ lưu hình, nếu không có bước này, hệ thống sẽ bắt lưu hình mãi tiếp Xử lý ảnh và điều khiển xe chạy tự động Trang 40 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP tục, không thể ngừng kết quả là máy bị treo. Có thể thay thế bằng vòng lập For cho cấu trúc này , tùy thuộc và khả năng sử dụng các vòng lập để thiết lập các yêu câu cần thiết cho chương trình. Hình 2.56: Bước xác định giá trị “False” cho vòng lập Hình 2.57: Hình sau khi được cắt từ camera d. Tìm kiếm theo hình đã lập Hình 2.58: Cấu trúc lệnh tìm kiếm Xử lý ảnh và điều khiển xe chạy tự động Trang 41 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Lệnh tìm kiếm là lệnh đòi hỏi nhiều thiết lập như vị trí điểm ảnh, mức độ chính xác tìm kiếm, hình quay và góc quay, số ảnh tìm kiếm…. Tùy thuộc vào từng yêu cầu mà ta có thể chọn những thiết lập cần thết. Có một số giá trị cần phải được định nghĩa trước như : tọa độ, hiện kết quả, góc quay. Chỉ khi các giá trị này được thiết lập thì mới có gái trị trả về để thực hiện điều khiển xe tự động. Khi nút nhất được bấm thì lệnh tìm kiếm được thực thi với các giá trị cái đặt xác định và có thể thay đổi trong quá trình vận hành. - Hình được cắt ra từ camera. Hình này được lưu tạm thời vì thế sau mỗi lần dừng chương trình thì hình sẽ bị xóa và yêu cấu chúng ta thiết lập lại hình ảnh mới. - Camera đi vào lệnh tìm kiếm. Hình ảnh liên tục này phải phù hợp với ảnh tìm kiếm, như trong chương trình này hình phải là hình 8-bit với hình đã được tiền xử lý ảnh. Một lần nữa Local Variable lại phát huy tác dụng khi được lấy để tiếp tục dòng truyền của dữ liệu. - Lệnh Settings cho phép thay đổi độ chính xác và các hình có thể tìm kiếm. Hình 2.59: Mức độ chính xác và số ảnh tìm kiếm Cho dù số lượng ảnh tìm kiêm có thể bị thay đổi nhưng khi đưa ra dự liệu cho quá trình xử lý tiếp theo thì chương trình sẽ chọn ra hình ảnh có mức độ chính xác nhất. - Khi yêu cầu số ảnh tìm kiếm ta có được số ảnh tìm tướng ứng. Xử lý ảnh và điều khiển xe chạy tự động Trang 42 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 2.60: Khi yêu cầu số ảnh tìm là 2 Hình 2.61: Khi yêu cầu số ảnh tìm kiếm là 1. Xử lý ảnh và điều khiển xe chạy tự động Trang 43 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP e. Xuất các giá trị mong muốn Hình 2.62: Hệ thống xử lý hình sau khi tìm kiếm. - Matches là một biến địa phương được lấy từ hàm IMAQ Find Pattern 3 VI chứa tất cả các giá trị tích lũy mà ta đã thiết lập trong lệnh tìm kiếm, từ hàm này sẽ trích xuất ra các giá trị mong muốn, lấy đó làm trọng tâm cho trình xử lý tiếp theo. Để có thể tách một giá trị trong mãng tai phải sử dụng đến Index Array Function để lấy giá trị mong muốn, tiếp theo từ đó sử dụng làm Unbundle By Name Function để lấy giá trị từng hàm một. Ở đây là lấy vị trí theo trục tọa độ là các Pixel tương ứng tìm được, giá trị này là giá trị tâm của hình ảnh. Xử lý ảnh và điều khiển xe chạy tự động Trang 44 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP - Tại vị trí chính xác nhất chương trình sẽ xuất ra giá trị điểm ảnh có tọa độ (x,y). Hình 2.63: Xác định tạo độ tìm kiếm. Tọa độ tìm kiếm được xử lý theo phương x, tùy thuộc vào mỗi thiết bị thu thập hình ảnh khác nhau sẽ có số điểm ảnh khác nhau. Như trong giới hạn của đề án giá trị cực đại của phương x là 800. Vì vậy với mức 8 bít giá trị của truyền trong UART thì không khả thi nên nhóm thực hiện tính theo phần trâm và giá trị cực đại là 100 có thể truyền được tín hiệu. - Khi thực hiện ta cần phải xác định tọa độ cao nhất có thể có để thiết lập trước thi thực thi lệnh tím phầm trăm: ở đây là 800. Hình 2.64: Đổi phầm trăm chiều dài. - Xác định vị trí hình ảnh cho ta giá trị tọa độ của điểm ảnh trung tâm nhưng giá trị không chẵn, tiếp tục sử lý đưa về dang U16 để lấy làm tròn số. Nhân với phầm trăm để xác định giá trị truyền. Xử lý ảnh và điều khiển xe chạy tự động Trang 45 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Để hệ thống lại hình quá trình xử lý số liệu hàm Matches có thể xem lưu đồ sau. Biến địa phương Matches Trích xuất số liệu mong muốn Đưa về dạng số nguyên (U16) Biến đổi tỉ lệ với biên độ vị trí để tìm phầm trăm tương ứng Chuyển thành mã nhị nhân phù hợp khung truyền 8-bit Hinh 2.65: Lưu đồ xử lý số liệu tìm kiếm. ol Xử lý ảnh và điều khiển xe chạy tự động Trang 46 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Truyền thông giao tiếp cần sự đồng bộ từ thiết bị truyền cho tới thiết bị nhận để các bít dữ liệu được truyền đầy đủ. Cần phải thiết lập một khung truyền mak từ đó ta có thể giả mã được. Các thông cố cài đặt cần có là tốc độ truyền, stop bit, số bít truyền, party,… Hình 2.66: Truyền UART - chọn cổng Com truyền dữ liệu. chọn tốc độ truyền, tốc độ truyền phải phù hợp với vi điều khiển khi ta viết code. Theo định nghĩa, tốc độ baud là số bit truyền trong 1 giây. Ví dụ nếu tốc độ baud được đặt là 19200 thì thời gian dành cho 1 bit truyền là 1/19200 ~ 52.083us. - Data hay dữ liệu cần truyền là thông tin chính mà chúng ta c ần gởi và nhận. Data không nhất thiết phải là gói 8 bit, với AVR bạn có thể quy định số lượng bit của data là 5, 6, 7, 8 ho ặc 9 (tương tự cho hầu hết các thiết bị hỗ trợ UART khác). Trong truyền thông nối tiếp UART, bit có ảnh hưởng nhỏ nhất (LSB – Least Significant Bit, bit bên phải) của data sẽ được truyền trước và cuối cùng là bit có ảnh hưởng lớn nhất (MSB – Most Significant Bit, bit bên trái) - Stop bits là một hoặc các bit báo cho thiết bị nhận rằng một gói dữ liệu đã được gởi xong. Sau khi nhận được stop bits, thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu. Stop bits là các bits bắt buộc xuất hiện trong khung truyền, trong AVR USART có thể là 1 hoặc 2 bits (Trong các thiết bị khác Stop bits có thể là 2.5 bits). Trong ví dụ ở hình 1, có 2 stop bits được dùng cho khung truyền.Giá trị của stop bit luôn là giá trị nghỉ (Idle) và là ngược với giá trị của start bit, giá trị stop bit trong AVR luôn là mức cao (5V). - dãy nhị phân được truyền. Đã được tính toán như ở trên Xử lý ảnh và điều khiển xe chạy tự động Trang 47 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Parity là bit dùng kiểm tra dữ liệu truyền đúng không (một cách - tương đối). Có 2 loại parity là parity chẵn (even parity) và parity lẻ (odd parity). Parity chẵn nghĩa là số lượng số 1 trong dữ liệu bao gồm bit parity luôn là số chẵn. Ngược lại tổng số lượng các số 1 trong parity lẻ luôn là số lẻ. Ví dụ, nếu dữ liệu của bạn là 10111011 nhị phân, có tất cả 6 số 1 trong dữ liệu này, nếu parity chẵn được dùng, bit parity sẽ mang giá trị 0 để đảm bảo tổng các số 1 là số chẵn (6 số 1). Nếu parity lẻ được yêu cầu thì giá trị của parity bit là 1. Hình 1 mô tả ví dụ này với parity chẵn được sử dụng. Parity bit không phải là bit bắt buộc và vì thế chúng ta có thể loại bit này khỏi khung truyền (các ví dụ trong bài này tôi không dùng bit parity). III. III.1 Giới thiệu Module thời gian thực NI EVS-1464RT Giới thiệu Hệ thống nhúng NI EVS-1464RT được thiết kế hổ trợ cho các ứng dụng trong công nghiệp. NI EVS-1464RT được thiết kế để thu và xử lý hình ảnh trong thời gian thực từ chuẩn kết nối IEEE 1394, chuẩn kết nối GigE nối với thiết bị camera. NI EVS-1464RT có thể giao tiếp và tích hợp với các thiết bị tự động hóa bao gồm bộ điều khiển lập trình logic (PLC), giao diện người máy (HMI), người máy, cảm biến và thiết bị truyền động. Với bộ xử lý đa lõi và hệ điều hành thời gian thực giúp cho hệ thống có tốc độ cao hơn. Hệ thống kết nối với máy tính thông qua cổng kết nối Ethernet, để thực hiện việc nạp chương trình từ máy tính xuống hệ thống, cũng như điều khiển phần cứng máy tính. Ngoài ra hệ thống có thể hoạt động độc lập với máy tính và xem như là một máy tính thứ hai. Hình 3.1: Hệ thống nhúng NI EVS-1464RT và camera Xử lý ảnh và điều khiển xe chạy tự động Trang 48 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Hình 3.2: Mô hình kết nối NI EVS-1464RT với máy tính, camera và màn hình hiển thị Hình 3.3: Giao diện giao tiếp NI EVS-1464RT Xử lý ảnh và điều khiển xe chạy tự động Trang 49 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Mô tả hệ thống NI EVS-1464RT Số thứ tự Chức năng Tên cổng Kết nối NI EVS-1464RT với hệ thống máy tính, 1,2 Cổng kết nối LAN bản thân NI EVS-1464RT là một máy tính và có địa chỉ ip tự cấp. Cổng này dùng để nạp chương trình từ máy tính xuống NI EVS-1464RT. 3 Nút Reset Thực hiện việc khởi động lại hệ thống khi cần thiết. 4 Audio Input Connector Ngõ vào tín hiệu âm thanh. 5 Audio Output Connector Ngõ ra tín hiệu âm thanh. 6 Safe Mode/ IP Resat/ No App/ User Các switch ON/OFF với các tùy chọn: Chế độ an 1/ CF Master/ Slave switch toàn, Reset địa chỉ IP, No App, User 1… 7 User 1/ User 2/ HDD/ Power Đèn led báo hiệu. 8 Compact Flash Slot Khe cắm thẻ Flash. 9 Power Supply Connector Ngõ vào nguồn cung cấp. 10 Ground Lug Nối đất hệ thống 11 DVI-I Connector Cổng kết nối DVI-I. 12 IEEE 1394b Bilingual Connector Khe cắm chuẩn kỹ thuật 1394b. 13 ISO/CAM Power Status LEDs Led hiển thị trạng thái thiết bị. 14 IEEE 1394b Bilingual Connector Khe cắm chuẩn kỹ thuật 1394b. 15 RS-232 Serial Connector (COM1) Cổng nối tiếp RS-232 giao tiếp với máy tính 16 MXI Express x1 Connector Cổng kết nối MXI 17 Digital I/O Connector Dữ liệu số vào ra. 18 USB Connector Cổng USB Đặc điểm hệ thống nhúng NI EVS-1464RT - Là một hệ thống thị giác nhúng xử lý ảnh với thời gian thực. - Trang bị vi xử lý Intel Core Duo (1.66Ghz). - Ổ đĩa trạng thái rắn là 2GB, có ổ đĩa Flash ngoài. - Bộ nhớ DDR2 1GB. - Có hiệu năng cao, bộ xử lý đa lõi. - Có thể kết nối nhiều máy ảnh giúp cho việc kiểm tra đồng thời. - Đáng tin cậy, bền. Xử lý ảnh và điều khiển xe chạy tự động Trang 50 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP - Là hệ thống công nghiệp không có bộ phận chuyển động (không quạt và ổ cứng trạng thái rắn) - Số lượng I/O cao cho tính đồng bộ hóa và truyền thông trong công nghiệp. - NI EVS-1464RT có thể cấu hình với NI VIsion Builder tự động kiểm tra, một phần mềm với môi trường tương tác để xây dựng và triển khai các ứng dụng thị giác mà không c ần lập trình. Giao diện NI VIsion Builder thể hiện ở hình 2.44. - NI EVS-1464RT có thể tích hợp với phần mềm thiết kế hệ thống đồ họa NI LabVIEW và module phát triển NI VIsion, đây là thư viện toàn diện các chức năng về xử lý ảnh. Trong đề tài này, nhóm thực hiện sử dụng phần mềm LabVIEW để xây dựng chương trình và chạy trên hệ thống NI EVS-1464RT. - Phía sau I/O số là một FPGA đã được cấu hình sẵn với các chức năng cần thiết để thực hiện một số yêu cầu. Tuy nhiên, nếu chức năng máy cấu hình không hoàn thành được yêu cầu đề ra có thể sử dụng module FPGA LabVIEW để hổ trợ. Hình 3.4 : Giao diện NI VIsion Builder III.2 Báo hiện đèn LED và switches DIP Phần này bao gồm các mô tả các chỉ số LED và chuyển mạch DIP trên hệ thống NI EVS-1464RT. III.3 Báo hiệu đèn LED Hệ thống bao gồm 6 đèn led (xem hình 5.3) với các tính năng sau: Xử lý ảnh và điều khiển xe chạy tự động Trang 51 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP - User 1: Led lập trình LabVIEW Real Time. - User 2: Led lập trình LabVIEW Real Time. - HDD: màu xanh đọc/ghi HDD trong tiến trình. - POWER: màu xanh khi có nguồn. - CAM: màu xanh khi có nguồn. - ISO: màu cam khi một nguồn bên ngoài cung cấp nguồn cho các ngõ ra cách ly trên bộ kết nối D-SUB 44 pin. III.4 Switches DIP Hệ thống bao gồm 6 switches DIP (xem hình 5.3) với các tính năng sau: - RESET: chuyển đổi thiết lập lại Recessed, dễ tiếp cận với 1 cây viết bi. - SAFE MODE: chạy LabVIEW Real Time trong chế độ an toàn. - IP RESET: thiết lập lại địa chỉ IP LabVIEW Real Time mặc định. - NO APP: ngăn chặn LabVIEW Real Time từ tiến trình ứng dụng người dùng khi khởi động. - USER 1: LabVIEW Real Time truy c ập chuyển đổi người dùng. - CF MASTER/SLAVE: cho phép khe cắm CF là master (không có ổ cứng nội bộ) hoặc slave (có ổ cứng nội bộ). III.5 Các cổng kết nối của hệ thống Hình 3.5: Các cổng kết nối trên hệ thống Các cổng kết nối của hệ thống bao gồm: cổng IEEE 1394, cổng Serial port (COM), cổng Ethernet, cổngUSB, khe cắm Flash,, Cổng DVI-I, cổng I/O số, cổng cấp nguồn, cổng âm thanh. Xử lý ảnh và điều khiển xe chạy tự động Trang 52 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP III.5.1 : Cổng Ethernet - Giao diện: Hình 3.6: Giao diện cổng kết nối chuẩn IEEE 1394b - Chức năng: cổng kết nối Ethernet dùng để nạp chương trình từ máy tính xuống hệ thống. Sử dụng một cáp Ethernet để kết nối từ cổng mạng máy tính đến cổng Ethernet trên hệ thống (xem hình 2.42). Kết nối thiết bị Camera với chuẩn cáp GigE VIsion (xem hình 2.49) GigE VIsion là một giao diện máy ảnh tiêu chuẩn dựa trên giao thức truyền thông Gigabit Ethernet. Các camera GigE VIsion làm việc với tiêu chuẩn mạng Gigabit Ethernet và phần cứng. Vì chuẩn Gigabit Ethernet cho phép truyền tải lên đến 1000 megabit trên giây nên GigE VIsion cung cấp tốc độ truyền nhanh hơn so với chuẩn USB, USB 2, IEEE 1394a và IEEE 1394b. Các mạng GigE VIsion có thể có được nhiều hình ảnh từ nhiều camera. Tuy nhiên, tất cả các camera trên cùng mạng chia sẻ cùng một băng thông. Gigabit Ethernet là một công nghệ bus chuẩn, không phải các camera có cổng Gigabit Ethernet thì phù hợp với GigE VIsion. Để phù hợp với GigE VIsion các máy ảnh phải tuân thủ giao thức đề ra bởi tiêu chẩn GigE VIsion và phải có xác nhận của hiệp hội ảnh tự động (AIA). Xử lý ảnh và điều khiển xe chạy tự động Trang 53 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Pin Fast Ethernet Gigabit Ethernet 1 TX+ TX_A+ 2 TX_ TX_A- 3 RX+ RX_B+ 4 NC TX_C+ 5 NC TX_C- 6 RX_ RX_B- 7 NC RX_D+ 8 NC RX_D- Hình 3.7: Chức năng chân của cổng Ethernet III.5.2 Cổn g USB - Giao diện Hình 3.8: Giao diện cổng USB trong module Pin Signal Name Signal Description 1 VCC Cable Power (+5V) 2 D- USB Data- 3 D+ USB Data+ 4 GND Ground Hình 3.9: Chức năng chân c ủa cổng USB Xử lý ảnh và điều khiển xe chạy tự động Trang 54 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP III.5.3 Cổng DVI-I - Giao diện: Hình 3.10: Giao diện cổng xuất dữ liệu hình ảnh - Chức năng: Cổng kết nối để xuất dữ liệu hình ảnh DVI video output. Pin Signal Name 1 TMDS Data2- 2 TMDS Data2+ 3 TMDS Data2/4 Shield 4 Reserved 5 Reserved 6 DDC Clock [SCL] 7 DDC Data [SDA] 8 Analog Vertical Sync 9 TMDS Data1- 10 TMDS Data1+ 11 TMDS Data1/3 Shield 12 Reserved 13 Reserved 14 +5 V Power 15 Ground (for +5 V) 16 Hot Plug Detect 17 TMDS Data0- 18 TMDS Data0+ Xử lý ảnh và điều khiển xe chạy tự động Trang 55 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Pin Signal Name 19 TMDS Data0/5 Shield 20 Reserved 21 Reserved 22 TMDS Clock Shield 23 TMDS Clock+ 24 TMDS Clock- C1 Analog Red C2 Analog Green C3 Analog Blue C4 Analog Horizontal Sync C5 Analog GND Return: (analog R, G, B) Hình 3.11: Chức năng chân của cổng DVI-I. III.5.4 Cổng cấp nguồn - Giao diện: Hình 3.12: Giao diện cổng cấp nguồn điện - Chức năng: Cổng kết nối nguồn điện cung cấp nguồn cho hệ thống NI EVS1464RT. Pin Signal Name Signal Description 1 + Positive 2 - Negative 3 GND Chassis Ground Hình 3.13 : Chức năng chân c ủa cổng cấp nguồn. Xử lý ảnh và điều khiển xe chạy tự động Trang 56 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM III.6 ĐỒ ÁN TỐT NGHIỆP Ứng dụng hệ thống NI EVS-1464RT Hình 3.14 :Ứng dụng của hệ thống NI EVS-1464RT Hệ thống NI EVS-1464RT được ứng dụng rộng rãi trong công nghiệp điển hình như: - Xử lý ảnh. - Điều khiển và xử lý các thiết bị công nghiệp như PLC, thông qua cổng xuất nhập. - Xây dựng mạng các thiết bị, máy tính thông qua cổng kết nối internet. - Điều khiển Camera quan sát hệ thống. Xử lý ảnh và điều khiển xe chạy tự động Trang 57 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP PHẦN C KẾT LUẬN Xử lý ảnh và điều khiển xe chạy tự động Trang 58 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP KẾT LUẬN Qua quá trình học tập và tìm hiểu để thực hiện đồ án, nhòm đã gập nhiều khó khăn và trở ngạy nhưng với sự giúp đở nhiệt tình và ân c ần từ thầy hướng dẫn TS. Lê Thanh Phúc, nhóm chúng tôi đã học hỏi và đúc kết được và hoàn thành được đồ án “Xử lý hình ảnh và điều khiển xe chạy tự động”. Thông qua đó nhóm cũng đã đúc kết được những kiếm thức riêng cho mình như: - Hình ảnh và cấu trúc của hình ảnh cơ bản. - LabVIEW trong xử lý ảnh. - Truyền thông không đồng bộ. Trong quá trình thực hiện đồ án nhóm đã không tránh khỏi những ý kiến chủ quan nên đồ án không tránh khỏi những sai sót mong các thầy cô và các bạn thông cảm, góp ý để nhóm rút kinh nghiệm và hoàn thiện hơn. Xử lý ảnh và điều khiển xe chạy tự động Trang 59 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO TRONG NƯỚC [1]. TS. Phạm Việt Bình, TS. Đỗ Năng Toàn, “Xử lý ảnh”, Trường Đại học Thái Nguyên, Thái Nguyên, 2007. [2]. PGS.TS. Nguyễn Quang Hoan, “Xử lý ảnh”, Học viện công nghệ bưu chính viễn thông, Hà Nội, 2006. [3]. Đỗ Hoàng Tiến, Dương Thanh Phương, “Truyền hình kỹ thuật số”, NXB.Khoa học và kỹ thuật, Hà Nội, 2004. TÀI LIỆU THAM KHẢO NƯỚC NGOÀI [1]. National Instrument, Getting Started with the NI EVS-1464RT. [2]. Ni.com [3]. Youtube.com [4]. Google.com Xử lý ảnh và điều khiển xe chạy tự động Trang 60 [...]... đó có thể học và tìm trên camera thực và trục tiếp để xuất ra tín hiệu vị trí tương đối của xe so với làng đường đang thực thi Khi đã có được vị trí tương đối của xe, hệ thống điều khiển sẽ bẻ góc lái thích hợp để xe chạy trên vị trí mong muốn Xử lý ảnh và điều khiển xe chạy tự động Trang 6 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: XỬ LÝ ẢNH TRÊN LABVIEW Xử lý ảnh và cá vấn đề... đủ và khả thi tiếp theo đó là quá trình giao tiếp thông qua AVR thực hiện các lệnh cài đặt theo từng hạn mục đã định 4.1 Hình ảnh  Từ hình ảnh thu thập tính toán và xử lý thành ảnh 8-bit  Thiết lập cách hình ảnh qua xử lý tạo thư viện  Tìm kiếm hình trong quá trình xử lý Xử lý ảnh và điều khiển xe chạy tự động Trang 2 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP 4.2 Labview  Thu thập ảnh. .. vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh) b) Tiền xử lý (Image Processing) Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn Xử lý ảnh và điều khiển xe chạy tự động Trang 8 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP c) Phân đoạn... công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan Xử lý ảnh và điều khiển xe chạy tự động Trang 7 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh) Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera... phần cứng máy tính, xử lý ảnh và đồ họa phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống Xử lý ảnh và đồ họa đóng vai trò quan trọng trong tương lai ngành ô tô Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh tốt hơn” hay một kết luận Ảnh thu nhận Quá trình xử lý Các giá trị mong... Manipulation và Pixel Manipulation), thư viện phủ (Overlay), thư viện thước đo (Calibration), thư viện tiện ích màu (Color Utilities) và thư viện cho các thiết bị thời gian thực (VIsion RT) c Thư viện quản lý ảnh Hình 2.12 : Thư viện quản lý ảnh Xử lý ảnh và điều khiển xe chạy tự động Trang 21 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP Thư viện quản lý ảnh hỗ trợ lập trình về các xử lý biến... Xử lý ảnh và điều khiển xe chạy tự động Trang 4 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: NHẬN DẠNG ĐƯỜNG ĐI VÀ HƯỚNG XỬ LÝ I Nhận dạng theo vệt sơn đường Có rất nhiều lựa chọn nhận dạng đường đi đã được nghiên cứu và đưa và khai thác như: Nhận dạng đường theo GPS, ra-da laser, âm thanh phản hồi và hình ảnh mỗi hướng đi đều có ưu và nhược điểm khác nhau Và đồng thời sẽ ảnh. .. thức còn nhiều hạn chế nên không thể tránh khỏi những thiếu sót Chúng tôi rất mong nhận được sự đóng góp ý kiến của các thầy cô cũng như là của các bạn sinh viên để bài đồ án này hoàn thiện hơn TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP PHẦN A MỞ ĐẦU Xử lý ảnh và điều khiển xe chạy tự động Trang 1 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP DẪN NHẬP 1 Đặt vấn đề Trong quá... đào tạo và quá trình tự nghiên cứu trao dồi kiến thức chuyên môn Với các vấn đề trên nhóm chúng tôi xin thực hiện đề tài: Xử lý hình ảnh và điều khiển xe chạy tự động 2 Mục tiêu và nhiệm vụ Mục đích của đề tài là dựa vào phần mềm Labview xây dựng một hệ thống xử lý ảnh thu thập từ camera, xây dựng thư viện và đi theo đó là quá trình tính toán để giao tiếp với người dùng nhằm giúp xe có thể tự vận... tôi đã kết thúc khoá học và đã tích luỹ được vốn kiến thức nhất định Được sự đồng ý của nhà trường và thầy cô giáo trong khoa, chúng tôi được giao đồ án tốt nghiệp “XỬ LÝ HÌNH ẢNH VÀ ĐIỀU KHIỂN XE CHẠY TỰ ĐỘNG”: Bằng sự cố gắng nỗ lực của bản thân và đặc biệt là sự giúp đỡ tận tình, chu đáo của TS Lê Thanh Phúc, chúng tôi đã hoàn thành đồ án đúng thời hạn Do hạn chế về thời gian và kiến thức còn nhiều ... luận để hoàn thành tốt đề tài Xử lý ảnh điều khiển xe chạy tự động Trang TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM ĐỒ ÁN TỐT NGHIỆP PHẦN B NỘI DUNG Xử lý ảnh điều khiển xe chạy tự động Trang TRƯỜNG... định 4.1 Hình ảnh  Từ hình ảnh thu thập tính toán xử lý thành ảnh 8-bit  Thiết lập cách hình ảnh qua xử lý tạo thư viện  Tìm kiếm hình trình xử lý Xử lý ảnh điều khiển xe chạy tự động Trang TRƯỜNG... hướng xử lý Xử lý ảnh vấn đề liên quan đến xử lý ảnh Phần mềm Labview xử lý ảnh Labview II Trình bày : Thyết minh đề tài: thuyết minh đĩa CD ghi nội dung đề tài Xử lý ảnh điều khiển xe chạy tự động

Ngày đăng: 04/10/2015, 00:08

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan