Đồ Án Xử Lý Ảnh Trên Kit MyRio Tại HCMUTE

Đồ án nghiên cứu hcmute xử lý ảnh trên kit myrio, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán ., phục vụ nghiên cứu và ứng dụng thực tiễn

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2015

83
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

TÓM TẮT

ABSTRACT

1. CHƯƠNG 1: TỔNG QUAN

1.1. Tình hình nghiên cứu hiện nay

1.2. Tính cấp thiết của đề tài

1.3. Mục tiêu nghiên cứu

1.4. Nhiệm vụ nghiên cứu

1.5. Đối tượng và phạm vi nghiên cứu

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

1.7. Bố cục của Đồ án

2. CHƯƠNG 2: LABVIEW

2.1. Tổng quan về LabVIEW

2.2. Cài đặt và giao diện

2.3. Yêu cầu máy tính cài LabVIEW

2.4. Ngôn ngữ lập trình đồ hoạ - LabVIEW

2.5. Môi trường lập trình

2.6. Lập trình và biên dịch

2.7. Kiểu dữ liệu trong LabVIEW

2.8. Vòng lặp

2.9. Cấu trúc điều kiện

2.10. Kết hợp C với LabVIEW

2.11. Tạo Project MyRIO

3. CHƯƠNG 3: MYRIO KIT

3.1. Tổng quan về MyRIO Kit

3.2. Ngõ vào ra

3.3. Giao tiếp máy tính

3.4. Hệ điều hành thời gian thực

4. CHƯƠNG 4: XỬ LÝ ẢNH VÀ THỊ GIÁC MÁY TÍNH

4.1. Xử lý ảnh là gì?

4.2. Thế nào là thị giác máy tính

4.3. Lý thuyết xử lý ảnh

4.4. Những vấn đề cơ bản trong xử lí ảnh

4.5. Thu nhận ảnh

4.6. Định nghĩa một số phép xử lý ảnh được dùng trong đề tài

4.7. Xử lý ảnh trên LabVIEW

4.8. Các kiểu dữ liệu ảnh trong LabVIEW

4.9. Tạo một biến kiểu ảnh

4.10. Chuyển đổi giữa các kiểu ảnh

4.11. Phân tách các lớp ảnh màu

4.12. Chuyển đổi giữa mảng và ảnh

4.13. Phân ngưỡng ảnh

4.14. Vẽ đường tròn trong ảnh

4.15. Đếm đối tượng

4.16. Xử lý ảnh trên Kit MyRIO

4.17. Giải thuật nhận dạng cử chỉ

5. CHƯƠNG 5: HỆ THỐNG NHẬN DẠNG CỬ CHỈ ĐIỀU KHIỂN THIẾT BỊ

5.1. Sơ đồ khối hệ thống

5.2. Yêu cầu của hệ thống

5.3. Hoạt động của hệ thống

5.4. Thiết kế và tính toán hệ thống

5.5. Điều khiển thiết bị

5.6. Xử lý trung âm (Xử lý ảnh và nhận dạng cử chỉ)

5.7. Giao tiếp máy tính

6. CHƯƠNG 6: KẾT QUẢ VÀ NHẬN XÉT

6.1. Kết quả đạt được

6.2. Nhận xét kết quả

6.3. So sánh với các ứng dụng trên Kit khác

7. CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

7.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Phụ lục 1: Hướng dẫn cài đặt LabVIEW

Phụ lục 2: Mã nguồn chương trình

Tóm tắt

I. Giới thiệu về Xử lý ảnh trên Kit MyRIO tại HCMUTE

Bài viết này phân tích đề tài tốt nghiệp "Xử lý ảnh trên Kit MyRIO" thực hiện tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (HCMUTE). Đề tài tập trung vào việc ứng dụng Kit MyRIO, một nền tảng phần cứng của National Instruments, kết hợp với phần mềm LabVIEW để thực hiện xử lý ảnh. Nghiên cứu này có ý nghĩa trong việc đào tạo sinh viên HCMUTE, ngành Công nghệ kỹ thuật máy tính, về các kỹ thuật xử lý ảnh thời gian thực và phát triển các ứng dụng nhúng. Đề tài sử dụng ngôn ngữ lập trình LabVIEW và tập trung vào nhận dạng cử chỉ như một ứng dụng cụ thể. Đây là một hướng nghiên cứu mới mẻ tại Việt Nam, khai thác tiềm năng của Kit MyRIO trong lĩnh vực xử lý ảnh. Việc sử dụng Kit MyRIO mang lại hiệu quả về mặt chi phí và thời gian, so với các giải pháp khác. Kết quả nghiên cứu cung cấp kiến thức thực tiễn về lập trình nhúng, xử lý ảnh, và thị giác máy tính. Đề tài góp phần vào việc phát triển các ứng dụng xử lý ảnh trên MyRIO tại HCMUTE và Việt Nam.

1.1. Tổng quan về Kit MyRIO và LabVIEW

Đề tài tốt nghiệp sử dụng Kit MyRIO của National Instruments, một nền tảng phần cứng mạnh mẽ cho các ứng dụng nhúng. Kit MyRIO tích hợp nhiều tính năng, bao gồm khả năng xử lý tín hiệu số, giao tiếp I/O đa kênh, và hệ điều hành thời gian thực. LabVIEW, môi trường lập trình đồ họa của National Instruments, được sử dụng để lập trình cho Kit MyRIO. LabVIEW cho phép lập trình trực quan, đơn giản hóa quá trình phát triển ứng dụng, đặc biệt là trong xử lý ảnh. Việc kết hợp Kit MyRIOLabVIEW tạo điều kiện thuận lợi cho việc xây dựng các ứng dụng xử lý ảnh thời gian thực hiệu quả. Đây là một sự lựa chọn tối ưu cho các dự án xử lý ảnh có yêu cầu về tính thời gian thực cao. Lập trình MyRIO với LabVIEW cũng giúp sinh viên HCMUTE tiếp cận với các công nghệ tiên tiến, nâng cao kỹ năng trong lĩnh vực nhúng và xử lý ảnh. Các hướng dẫn sử dụng MyRIOLabVIEW từ National Instruments được sử dụng làm tài liệu tham khảo chính. Lập trình MyRIO đòi hỏi người dùng hiểu biết về kiến trúc System-on-Chip (SoC)FPGA.

1.2. Phương pháp xử lý ảnh và nhận dạng cử chỉ

Đề tài tập trung vào xử lý ảnhnhận dạng cử chỉ trên Kit MyRIO. Các kỹ thuật xử lý ảnh cơ bản, như phân ngưỡng ảnh, phát hiện đối tượng, và nhận diện màu sắc, được ứng dụng. Thuật toán nhận dạng cử chỉ được xây dựng dựa trên các nguyên tắc thị giác máy tính. Đề tài sử dụng thư viện xử lý ảnh của LabVIEW để thực hiện các thao tác xử lý ảnh. Việc lựa chọn thuật toán phù hợp là rất quan trọng để đảm bảo hiệu suất và độ chính xác của hệ thống. Nhận dạng cử chỉ được thực hiện bằng cách phân tích hình ảnh từ camera, sau đó xử lý và trích xuất các đặc trưng để xác định cử chỉ. Khó khăn trong việc xử lý ảnh trên hệ thống nhúng cần được lưu ý. Tối ưu hóa thuật toán là một yếu tố quan trọng để đảm bảo hệ thống hoạt động mượt mà trên Kit MyRIO. Hiệu quả của thuật toán được đánh giá dựa trên tốc độ xử lý và độ chính xác của nhận dạng cử chỉ.

1.3. Ứng dụng và đánh giá

Đề tài chứng minh khả năng của Kit MyRIO trong xử lý ảnh thời gian thực. Ứng dụng nhận dạng cử chỉ để điều khiển thiết bị là một ví dụ minh họa khả năng của hệ thống. Kết quả nghiên cứu đóng góp vào việc phát triển các ứng dụng xử lý ảnh trên Kit MyRIO tại HCMUTE. Việc sử dụng LabVIEW làm đơn giản hóa quá trình lập trình và tích hợp hệ thống. Giá trị thực tiễn của đề tài nằm ở việc ứng dụng công nghệ hiện đại vào giáo dục và nghiên cứu. Các vấn đề về hiệu năng của hệ thống cần được xem xét kỹ lưỡng. Nghiên cứu đề xuất các hướng phát triển để cải thiện độ chính xác và tốc độ xử lý của hệ thống. Tương lai, nghiên cứu có thể được mở rộng để phát triển các ứng dụng xử lý ảnh phức tạp hơn, ví dụ như nhận diện khuôn mặt hay phát hiện đối tượng. Phát triển phần mềm cho phép cài đặtsử dụng dễ dàng hơn cho người dùng. Hạn chế của nghiên cứu bao gồm phạm vi ứng dụng còn hạn chế và cần được mở rộng trong tương lai.

01/02/2025

Trích đoạn nội dung tài liệu

Chương 1: TỔNG QUAN Chương 2: LabVIEW Chương 3: Kit MyRIO Chương 4: XỬ LÝ ẢNH VÀ THỊ GIÁC MÁY TÍNH Chương 5: HỆ THỐNG NHẬN DẠNG CỬ CHỈ ĐIỀU KHIỂN THIẾT BỊ Chương 6: KẾT QUẢ VÀ NHẬN XÉT Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 2 do an Chương 2: LabVIEW 2. Tổng quan về LabVIEW LabView là một phần mềm máy tính được phát triển bởi công ty National Instruments, Hoa kỳ, là môi trường ngôn ngữ đồ họa hiệu quả trong việc giao tiếp đa kênh giữa con người, thuật toán và các thiết bị. LabView dùng trong hầu hết các phòng thí nghiệm, lĩnh vực khoa học kỹ thuật như tự động hóa, điều Hình 2. Biểu tượng khiển, điện tử, cơ điện tử, hàng không, hóa sinh, điện tử y sinh ở các nước đặc biệt là Mỹ, Hàn quốc, LabVIEW Nhật Bản.

LabView được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ C, Pascal. Bằng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo, giúp cho các kỹ sư tổng quát hơn về toàn bộ chương trình, dễ dàng lập trình, biên dịch và kiểm thử. LabVIEW còn giúp các kỹ sư chuyển ý tưởng của họ thành hiện thực, giảm thời gian kiểm tra và cung cấp những hiểu biết sâu hơn về dữ liệu mà họ thu thập được. Cài đặt và giao diện Hướng dẫn cài đặt LabVIEW sẽ được kèm theo ở phụ lục 1.Hướng dẫn chi tiết bằng hình ảnh cách cài đặt và kích hoạt bản quyền.

Chuẩn bị Trước khi cài đặt LabVIEW cần chuẩn bị:  Một hệ thống hay máy tính đáp ứng các yêu cầu cần thiết để cài đặt LabVIEW.  Phiên bản phần mềm LabVIEW phù hợp với Hệ điều hành (Windows 32bit hoặc 64 bit).  Key bản quyền để kích hoạt phần mềm sau khi cài đặt. Yêu cầu máy tính cài LabVIEW Một hệ thống nhúng hay một máy tính để cài đặt và chạy ổn định chương trình LabVIEW cần đảm bảo các yêu cầu về cấu hình nhất định.

Yêu cầu về cấu hình được đề cập đến ở phụ lục 1. Ngôn ngữ lập trình đồ hoạ - LabVIEW LabVIEW được xem là một ngôn ngữ lập trình đồ hoạ, khác với các ngôn ngữ lập trình truyền thống như C, Java, Pascal,… LabVIEW sử dụng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo. Một ví dụ đơn giản để cho thấy sự khác biệt giữa một chương trình C và chương trình LabVIEW. Cộng 2 số nguyên: C code: #include <stdio.h> void main() { int a = 5,b = 7; scanf(“%d”,&a); scanf(“%d”,&b); printf("%d + %d = %d \n", a, b, a + b); } LabVIEW code: Hình 2.

Cộng 2 số nguyên sử dụng LabVIEW Theo ví dụ trên, khi cộng 2 số nguyên nếu dùng C code chúng ta phải khai báo, nhận giá trị, tính toán, hiển thị để hoàn thành chương trình. 4 do an Khi sử dụng LabVIEW chỉ cần phân sử dụng các hàm nhập xuất dữ liệu và tính toán, các biến đã được khai báo khi được kéo vào cửa sổ. Thuận lợi khi sử dụng LabVIEW, lập trình viên sẽ lập trình nhanh hơn, dễ dàng trong kiểm tra và có cái nhìn tổng quát hơn về chương trình. Môi trường lập trình Khi tạo một VI mới sẽ xuất hiện 2 cửa sổ đó là Front panel và Block diagram  Front panel Front panel là nơi để thiết kế giao diện cho toàn bộ hệ thống, là một cửa sổ giao diện người dùng có thể tương tác, quan sát kết quả hiển thị từ các thiết bị ảo … các thành phần của Front Panel được thể hiện trong hình 2.

Ví dụ về front panel - Palette controls chứa các controls và indicators được sử dụng để tạo ra giao diện người dùng trên front panel. Truy cập vào Controls Palette từ cửa sổ front panel bằng cách chọn View »Controls Palette hoặc click chuột phải vào bất kỳ không gian trống trong cửa sổ front panel. - Controls thường là tay nắm, nút ấn, quay số, thanh trượt, và chuỗi. Nó là công cụ mô phỏng thiết bị đầu vào và cung cấp dữ liệu cho sơ đồ khối của VI 5 do an - Indicators thường là các đồ thị, biểu đồ, đèn LED, và chuỗi trạng thái.

Indicator là công cụ mô phỏng thiết bị đầu ra và hiển thị dữ liệu mà sơ đồ khối tạo ra.  Block Diagram Đối tượng sơ đồ khối bao gồm thiết bị đầu cuối, subVIs, nút, hàm chức năng, các hằng số, cấu trúc và dây kết nối, trong đó dữ liệu được truyền giữa các đối tượng khác nhau trong sơ đồ khối. - Function palette chứa VI, hàm chức năng và các hằng số để sử dụng tạo ra block diagram. Truy cập vào Funciton palette từ Block Diagram bằng cách cách chọn View »Function Palette hoặc click chuột phải vào bất kỳ không gian trống trong cửa sổ block diagram.

Ví dụ về Block Diagram 2. Lập trình và biên dịch Để lập trình trên LabVIEW cần lập trình 2 phần: - Thiết kế giao diện trên Front Panel. Để thiết kế giao diện trên Front Panel, người lập trình cần chọn các Control hoặc Indicator cần thiết cho giao diện, kéo thả đến vị trí cần thiết sao cho bố cục đẹp mắt. - Lập trình xử lý trên Block Diagram.

Từ những Control và Indicator được thiết kế ở cửa sổ Front Panel, người lập trình cần phải liên kết chúng với các hành để tạo thành giải thuật cho chương trình. 6 do an Trong khi lập trình với các hàm, người lập trình cần bổ sung thêm các biến về hằng số, control hoặc indicator mới theo yêu cầu của hàm. Chương trình báo lỗi thông qua biểu tượng mũi tên trắng trên thanh công cụ, khi mũi tên không liền khối thì chương trình của bạn đã bị lỗi về cú pháp như: thiếu các biến cho một hàm, sai kiểu dữ liệu liên kết giữa 2 hàm,… nếu không tự tìm được lỗi người lập trình có thể ấn nút mũi tên không liên khối ấy và một bảng thông báo lỗi sẽ hiện ra. Báo lỗi trong LabVIEW Trong hình 2.5 lỗi được thông báo là chưa kết nối điều kiện lặp cho vòng lặp While.

Biên dịch chương trình: Sau khi đã thiết kế giao diện và lập trình giải thuật xử lý xong, đảm bảo không có lỗi về cú pháp, lúc này nút mũi tên trắng trên thanh công cụ là liền một khối, để biên dịch và chạy chương trình người lập trình cần ấn nút mũi tên ấy. Chạy chương trình trong LabVIEW 7 do an 2. Kiểu dữ liệu trong LabVIEW Khi lập trình với LabVIEW cần hiểu rõ hơn về cách quy định kiểu dữ liệu. Một số lỗi chương trình xảy ra do không trùng khớp kiểu dữ liệu giữa các hàm.

Nếu một người lập trình không nắm rõ các kiểu dữ liệu trong LabVIEW thì sẽ khó khăn trong việc tìm control và indicator cho một hàm, gây mất nhiều thời gian để lập trình. Các kiểu dữ liệu sẽ được quy định theo màu và theo kích thước của đường dây. Một số kiểu dữ liệu trong LabVIEW 2. Vòng lặp Trong LabVIEW có 2 kiểu vòng lặp là for loop và while loop.

While Loop: Một vòng lặp while là một câu lệnh điều khiển luồng dữ liệu mà dùng để thực thi một khối mã subdiagram nhiều lần cho đến một điều kiện nhất định được đáp ứng Boolean. Đầu tiên, vòng lặp thực thi mã trong subdiagram và 8 do an sau đó các điều kiện dừng được đánh giá được đánh giá. Không giống như một vòng lặp for, một vòng lặp while không có một tập hợp số đếm lặp; do đó, một vòng lặp whilesẽ thực hiện vô thời hạn nếu điều kiện dừng không bao giờ xảy ra. Vòng lặp While For Loop: Một vòng lặp for là một câu lệnh điều khiển luồng dữ liệu mà dùng để thực thi một khối mã subdiagram một số lần nhất định, một số đếm được cung cấp cho vòng lặp for để thiết đặt số lần lặp, vòng lặp for sẽ thực thi khối mã subdiagram theo đúng số lần đã thiết đặt và không cần điều kiện lặp cho mỗi lần lặp.

Vòng lặp For Các vòng lặp được sử dụng bằng cách kéo thả các hàm tại Function palette. 9 do an Hình 2. Cấu trúc điều kiện Trong LabVIEW chỉ tồn tại cấu trúc điều kiện Case, cấu trúc if sẽ được hình thành nếu điều kiện lựa chọn của cấu trúc case là kiểu boolean. Case Structure: chứa một hay nhiều các subdiagrams hoặc cấu trúc case khác, một trong số đó sẽ được thực thi khi cấu trúc case được thực thi.

Cấu trúc case có một giá trị xác định trường hợp cần thực thi. 10 do an Hình 2. Cấu trúc Case Các giá trị lựa chọn có thể là một trong các kiểu sau: Boolean Integer Enum String Error Cluster 2. Kết hợp C với LabVIEW National Instruments cũng hỗ trợ một số công cụ lập trình C để lập trình cho Kit MyRIO, nhưng nếu người lập trình muốn sử dụng code C cho chương trình viết bằng LabVIEW thì có thể sử dụng call dll library.

11 do an Hình 2. Hàm Call Library Function Node trong LabVIEW Với hàm này các người lập trình có thể kế thừa các hàm được viết bằng C và tạo cho riêng mình một hàm trong LabVIEW. Tạo Project MyRIO Để lập trình cho Kit MyRIO, người lập trình cần tạo đúng project cho Kit. Chọn myRIO project từ màn hình khởi động LabVIEW hoặc chọn FileCreate Project myRIO project.

Sau đó đặt tên, đường dẫn lưu, cách kết nối cho Kit MyRIO, nhấn Finish để hoàn thành một project cho Kit. MyRIO project Để đảm bảo tạo được một myRIO project, thì Kit MyRIO phải được kết nối với máy tính theo một trong 2 cách là dùng cable USB hay kết nối không dây qua Wifi. 12 do an Chương 3: MyRIO Kit 3. Tổng quan về MyRIO Kit Được National Instrument giới thiệu năm 2013 NI myRIO là một nền tảng phần cứng/phần mềm mang tính cách mạng cung cấp cho sinh viên khả năng "làm kỹ thuật" và thiết kế hệ thống thực tế một cách nhanh chóng hơn bao giờ hết.

được hoàn thành với công nghệ Zynq mới nhất từ Xilinx tích hợp hệ thống trên một chip (SoC). NI myRIO có một bộ vi xử lý dual-core ARM ®™ Cortex-A9 và một FPGA với 28.000 tế bào lập trình logic, 10 đầu vào analog, 6 đầu ra analog, kênh I/O audio, và lên đến 40 lines số input/output (DIO). Được thiết kế và giá cả phù hợp cho người sử dụng học tập, NI myRIO Hình 3.1 Kit myRIO cũng bao gồm onboard WiFi, một cảm biến gia tốc ba trục, và một số đèn LED, kèm theo các yếu tố hình thức. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Kit NI myRIO bằng ngôn ngữ LabVIEW hoặc hoặc một số ngôn ngữ khác như C, C++.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Xử Lý Ảnh Trên Kit MyRio Tại HCMUTE" cung cấp cái nhìn sâu sắc về quy trình và kỹ thuật xử lý ảnh sử dụng kit MyRio tại trường Đại học Sư phạm Kỹ thuật TP.HCM. Nội dung bài viết không chỉ giới thiệu các phương pháp xử lý ảnh hiện đại mà còn nêu bật những ứng dụng thực tiễn của công nghệ này trong các lĩnh vực như nhận diện hình ảnh và phân tích dữ liệu. Độc giả sẽ tìm thấy những lợi ích thiết thực từ việc áp dụng các kỹ thuật này, giúp nâng cao khả năng nghiên cứu và phát triển sản phẩm công nghệ.

Nếu bạn muốn mở rộng kiến thức về các phương pháp xử lý ảnh và ứng dụng của chúng, hãy tham khảo thêm bài viết Nghiên cứu các phương pháp trích xuất thông tin trong ảnh tài liệu và ứng dụng. Bài viết này sẽ giúp bạn hiểu rõ hơn về cách trích xuất thông tin từ hình ảnh, một kỹ thuật quan trọng trong xử lý ảnh.

Ngoài ra, bạn cũng có thể tìm hiểu về Nghiên cứu xử lý ảnh siêu phân giải bằng biến đổi curvelet trên kit arm 32 bit, nơi bạn sẽ khám phá các phương pháp nâng cao chất lượng hình ảnh và ứng dụng của chúng trong công nghệ hiện đại.

Cuối cùng, bài viết Kỹ thuật tìm kiếm dựa trên giai điệu cũng sẽ mang đến cho bạn những góc nhìn mới về cách áp dụng công nghệ trong lĩnh vực khoa học máy tính, mở rộng thêm kiến thức về các kỹ thuật tìm kiếm và phân tích dữ liệu.