1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xử lý ảnh trên kit myrio

83 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xử Lý Ảnh Trên Kit MyRIO
Tác giả Lê Khánh Nhựt
Người hướng dẫn ThS. Nguyễn Ngô Lâm
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2015
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 83
Dung lượng 5,72 MB

Cấu trúc

  • 1.pdf

    • Page 1

  • 3.pdf

  • 4 BIA SAU A4.pdf

    • Page 1

Nội dung

TỔNG QUAN

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

Với sự tiến bộ vượt bậc của khoa học hiện nay, nhu cầu sử dụng thiết bị phần cứng hỗ trợ sinh viên trong nghiên cứu ứng dụng ngày càng tăng cao Nhằm đáp ứng nhu cầu này, năm

Năm 2013, National Instruments đã ra mắt sản phẩm MyRIO, nhằm phục vụ học sinh và sinh viên Với nền tảng phần cứng này, người dùng có thể tự tạo ra các sản phẩm được cấu hình lại từ các kiến trúc I/O của Kit Hơn nữa, họ sẽ được tiếp cận với ngôn ngữ lập trình đồ họa LabVIEW, cho phép sử dụng biểu tượng thay vì dòng lệnh để lập trình Sự kết hợp giữa Kit MyRIO và mã nguồn LabVIEW giúp người nghiên cứu phát triển các hệ thống phức tạp theo thời gian thực, biến ý tưởng thành hiện thực một cách nhanh chóng mà không cần tốn nhiều thời gian cho việc nghiên cứu, lập trình và kiểm tra.

Kit MYRIO là một sản phẩm mới tại Việt Nam, đang trong giai đoạn phát triển ứng dụng Hiện tại, số lượng Kit này được các trường đại học đầu tư vẫn còn hạn chế.

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

Kit MyRIO vẫn còn mới mẻ đối với kỹ sư và sinh viên Việt Nam, dẫn đến số lượng ứng dụng phát triển trên Kit còn hạn chế Do đó, việc nghiên cứu các ứng dụng trên Kit MyRIO là cần thiết để tạo tài liệu hỗ trợ sinh viên tiếp cận công nghệ mới Hơn nữa, việc xử lý ảnh trên Kit MyRIO mở ra một hướng nghiên cứu mới, cả trong nước và quốc tế Với tài nguyên mà Kit MyRIO cung cấp, việc phát triển các ứng dụng xử lý ảnh sẽ được tối ưu hóa hơn so với các Kit nhúng hiện có.

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

Mục tiêu của đề tài sẽ nghiên cứu về Kit MyRIO, từ đó sẽ phát triển một ứng dụng xử lý ảnh điều khiển thiết bị trên Kit

Sau khi hoàn thành đề tài, người thực hiện sẽ hiểu rõ cấu tạo và chức năng của Kit MyRIO, cũng như cách lập trình cho Kit Bên cạnh đó, họ sẽ tìm hiểu về thuật toán xử lý ảnh và nhận dạng cử chỉ trong ngôn ngữ LabVIEW, từ đó áp dụng vào Kit một cách hiệu quả.

Nhiệm vụ nghiên cứu

Trong giới hạn đề tài, người thực hiện đề tài sẽ tập trung nghiên cứu:

 Kiến trúc của Kit MyRIO

 Ngôn ngữ lập trình LabVIEW

 Hệ điều hành thời gian thực (Linux Real-time)

 Giao tiếp giữa Kit MyRIO với Camera Kinect

 Xử lý ảnh trên Kit MyRIO

 Giải thuật nhận dạng cử chỉ (đếm số ngón tay)

 Hệ thống điều khiển thiết bị.

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

Đối tượng nghiên cứu của đề tài là:

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

 Xử lý ảnh và giải thuật nhận dạng cử chỉ

 Phạm vi nghiên cứu của đề tài:

 Nghiên cứu cách sử dụng Kit MyRIO

 Nghiên cứu cách sử dụng chương trình LabVIEW

 Phát triển một ứng dụng xử lý ảnh dựa trên Kit.

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

Do tài liệu nghiên cứu còn hạn chế, người thực hiện đề tài sẽ tập trung vào việc tiếp cận các nguồn tài liệu liên quan một cách hiệu quả.

 Tài liệu được hỗ trợ từ National Instruments

 Hỗ trợ kỹ thuật từ các nhân viên của National Instruments

 Sử dụng các chương trình mẫu trong LabVIEW

 Thảo luận từ diễn đàn của National Instruments.

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

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

LabVIEW

Tổng quan về LabVIEW

LabView là phần mềm do công ty National Instruments của Hoa Kỳ phát triển, nổi bật với ngôn ngữ đồ họa giúp tối ưu hóa giao tiếp đa kênh giữa con người, thuật toán và thiết bị.

LabView là phần mềm phổ biến trong các phòng thí nghiệm và lĩnh vực khoa học kỹ thuật, bao gồm tự động hóa, điều khiển, điện tử, cơ điện tử, hàng không, hóa sinh và điện tử y sinh Phần mềm này được ứng dụng rộng rãi tại nhiều quốc gia, đặc biệt là Mỹ và Hàn Quốc.

LabView là một ngôn ngữ lập trình độc đáo, khác biệt hoàn toàn so với các ngôn ngữ truyền thống như C hay Pascal Nó sử dụng cú pháp hình ảnh trực quan trong môi trường soạn thảo, giúp các kỹ sư có cái nhìn tổng quát hơn về chương trình Điều này không chỉ đơn giản hóa quá trình lập trình mà còn hỗ trợ trong việc biên dịch và kiểm thử một cách dễ dàng.

LabVIEW hỗ trợ kỹ sư hiện thực hóa ý tưởng, rút ngắn thời gian kiểm tra và mang lại cái nhìn sâu sắc hơn về dữ liệu 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

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

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

Để cài đặt và vận hành ổn định chương trình LabVIEW, một hệ thống nhúng hoặc máy tính cần đáp ứng các yêu cầu cấu hình nhất định Những yêu cầu này rất quan trọng để đảm bảo hiệu suất và tính khả thi của ứng dụng LabVIEW.

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

LabVIEW là một ngôn ngữ lập trình đồ họa độc đáo, khác biệt so với các ngôn ngữ lập trình truyền thống như C, Java hay Pascal Thay vì sử dụng cú pháp văn bản, LabVIEW diễn đạt thông qua các hình ảnh trực quan trong môi trường soạn thảo, giúp người dùng dễ dàng tạo ra các ứng dụng phức tạp.

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

Trong ví dụ trên, việc cộng hai số nguyên bằng LabVIEW đơn giản hơn so với việc sử dụng C code, vì LabVIEW không yêu cầu khai báo biến, nhận giá trị, tính toán và hiển thị kết quả một cách phức tạp.

Khi sử dụng LabVIEW, bạn chỉ cần sử dụng các hàm nhập xuất dữ liệu và tính toán, cùng với các biến đã được khai báo, để kéo chúng vào cửa sổ làm việc.

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 là khu vực thiết kế giao diện cho toàn bộ hệ thống, cung cấp một cửa sổ giao diện người dùng cho phép tương tác và quan sát kết quả từ các thiết bị ảo Các thành phần của Front Panel được minh họa trong hình 2.3.

Hình 2.3 Ví dụ về front panel

Palette controls bao gồm các điều khiển và chỉ báo cần thiết để thiết kế giao diện người dùng trên bảng điều khiển phía trước Bạn có thể truy cập vào Controls Palette từ cửa sổ bảng điều khiển phía trước bằng cách chọn View và sau đó chọn Controls Palette, hoặc đơn giản là nhấp chuột phải vào bất kỳ không gian trống nào trong cửa sổ này.

Các điều khiển thường bao gồm tay nắm, nút ấn, quay số, thanh trượt và chuỗi, chúng đóng vai trò là công cụ mô phỏng thiết bị đầu vào, cung cấp dữ liệu cho sơ đồ khối.

Indicators thường bao gồm đồ thị, biểu đồ, đèn LED và chuỗi trạng thái, đóng vai trò là công cụ mô phỏng thiết bị đầu ra Chúng giúp hiển thị dữ liệu được tạo ra từ sơ đồ khối một cách trực quan và dễ hiểu.

Sơ đồ khối bao gồm các thành phần như thiết bị đầu cuối, subVIs, nút, hàm chức năng, hằng số, cấu trúc và dây kết nối, cho phép truyền dữ liệu giữa các đối tượng khác nhau trong sơ đồ.

Function palette là nơi chứa VI, hàm chức năng và các hằng số cần thiết để tạo block diagram Để truy cập vào Function palette từ Block Diagram, bạn có thể chọn View > Function Palette hoặc nhấp chuột phải vào bất kỳ không gian trống nào trong cửa sổ block diagram.

Hình 2.4 Ví dụ về Block Diagram

2.5 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, lập trình viên cần lựa chọn các Control hoặc Indicator phù hợp, sau đó kéo thả chúng vào vị trí thích hợp nhằm tạo ra một bố cục hài hòa và bắt mắt.

- Lập trình xử lý trên Block Diagram

Người lập trình cần liên kết các Control và Indicator được thiết kế trên cửa sổ Front Panel với các hành động để xây dựng giải thuật cho chương trình.

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, điều này cho thấy chương trình của bạn gặp lỗi cú pháp, chẳng hạn như thiếu biến cho một hàm hoặc sai kiểu dữ liệu liên kết giữa hai hàm Nếu không thể tự xác định lỗi, người lập trình có thể nhấn vào mũi tên không liền khối để hiển thị bảng thông báo lỗi.

Hình 2.5 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 hoàn thiện thiết kế giao diện và lập trình thuật toán mà không gặp lỗi cú pháp, lập trình viên cần nhấn nút mũi tên trắng trên thanh công cụ để biên dịch và chạy chương trình.

Hình 2.6 Chạy chương trình trong LabVIEW

Kiểu dữ liệu trong LabVIEW

Khi lập trình với LabVIEW, việc hiểu rõ quy định kiểu dữ liệu là rất quan trọng Nhiều lỗi chương trình phát sinh do sự không tương thích giữa các kiểu dữ liệu trong các hàm Nếu lập trình viên không nắm vững các kiểu dữ liệu trong LabVIEW, họ sẽ gặp khó khăn trong việc tìm kiếm control và indicator cho hàm, dẫn đến việc tốn thời gian trong quá trình lập trình Các kiểu dữ liệu được quy định thông qua màu sắc và kích thước của đường dây.

Hình 2.7 Một số kiểu dữ liệu trong LabVIEW

Các hàm cơ bản

Trong LabVIEW có 2 kiểu vòng lặp là for loop và while loop

Vòng lặp while là một cấu trúc điều khiển cho phép thực thi một khối mã nhiều lần cho đến khi một điều kiện Boolean nhất định được đáp ứng Trong quá trình thực hiện, mã trong vòng lặp sẽ được chạy trước, sau đó điều kiện dừng sẽ được đánh giá Khác với vòng lặp for, vòng lặp while không có số đếm cụ thể, dẫn đến khả năng vòng lặp này thực hiện vô hạn nếu điều kiện dừng không bao giờ xảy ra.

Vòng lặp for là một câu lệnh điều khiển luồng dữ liệu, cho phép thực thi một khối mã subdiagram một số lần nhất định Số lần lặp được xác định trước, giúp vòng lặp for thực hiện khối mã theo đúng số lần đã thiết lập mà không cần điều kiện lặp cho mỗi lần.

Hình 2.9 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

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

Cấu trúc case bao gồm một hoặc nhiều subdiagrams hoặc cấu trúc case khác, trong đó một trong số chúng sẽ được thực thi khi cấu trúc case được kích hoạt Mỗi cấu trúc case có giá trị xác định trường hợp cụ thể cần thực hiện.

Hình 2.11 Cấu trúc Case Các giá trị lựa chọn có thể là một trong các kiểu sau:

Kết hợp C với LabVIEW

National Instruments provides support for various C programming tools for the MyRIO Kit Additionally, programmers can utilize C code in LabVIEW applications by using the call DLL library feature.

Hình 2.12 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

Để tạo một dự án myRIO trong LabVIEW, bạn có thể chọn myRIO project từ màn hình khởi động hoặc vào File > Create Project > myRIO project Tiếp theo, hãy đặt tên cho dự án, xác định đường dẫn lưu và cấu hình kết nối cho Kit myRIO, sau đó nhấn Finish để hoàn tất việc tạo dự án cho Kit.

Để tạo một dự án myRIO, cần kết nối Kit MyRIO với máy tính thông qua cáp USB hoặc kết nối không dây qua Wifi.

MyRIO Kit

Tổng quan về MyRIO Kit

Được National Instrument giới thiệu năm

NI myRIO 2013 là nền tảng phần cứng và phần mềm đột phá, giúp sinh viên dễ dàng "làm kỹ thuật" và thiết kế hệ thống thực tế một cách nhanh chóng Sản phẩm được trang bị công nghệ Zynq tiên tiến từ Xilinx, tích hợp hệ thống trên một chip (SoC), với bộ vi xử lý dual-core ARM® Cortex-A9.

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

NI myRIO là một thiết bị học tập lý tưởng với 40 dòng số input/output (DIO) và giá cả phải chăng Nó được trang bị WiFi onboard, cảm biến gia tốc ba trục và đèn LED, mang lại tính năng đa dạng Người dùng có thể phát triển ứng dụng dễ dàng thông qua môi trường phát triển tích hợp (IDE) trên máy tính cá nhân, hỗ trợ lập trình bằng LabVIEW hoặc các ngôn ngữ khác như C, C++.

Ngõ vào ra

Kit MyRIO cung cấp 3 vùng kết nối, với vùng A và B mỗi vùng 34 pin, vùng C 20pin

Với 34 pin mỗi vũng kết nối, hoạt động ở mức điện áp thấp, 3.3V hoặc 5V, với đầy đủ các chuẩn giao tiếp như UART, SPI, I2C, Digital, Analog và các chân nguồn để cung cấp cho các thiết bị nhúng

Với 20 pin hoạt động chủ yếu ở các mức điện áp ± 15V, ± 10V

Ngoài ra, Kit còn hỗ trợ một số kết nối khác như USB, Audio.

Xilinx Zynq-7010

Xilinx Zynq-7010 kết hợp giữa bộ xử lý và FPGA, mang lại sự linh hoạt, mở rộng và hiệu quả cho hệ thống Thiết bị này giúp giảm tiêu thụ điện năng, tối ưu hóa chi phí và rút ngắn thời gian đưa ra thị trường Khác với các giải pháp SoC truyền thống, logic lập trình linh hoạt của Xilinx Zynq-7010 cho phép các nhà thiết kế dễ dàng tích hợp thêm thiết bị ngoại vi và cảm biến gia tốc, phù hợp với nhiều ứng dụng khác nhau.

Hình 3.4.Thông số kỹ thuật dòng Xilinx Zynq-7010

NI MyRIO, với chip Xilinx Zynq-7010, sở hữu đầy đủ tính năng mạnh mẽ về RAM, bộ nhớ và vi xử lý, cho phép xây dựng hệ thống xử lý ảnh vượt trội mà ít Kit nhúng nào có thể sánh kịp.

Hình 3.5 Cấu hình Chip Xilinx Zynq-7010 trên Kit NI MyRIO

Chip Xilinx Zynq-7010 được chia thành hai phần: phần Processor (LabVIEW RT) hoạt động như một hệ điều hành để giao tiếp với thiết bị, lưu trữ và xử lý tín hiệu, trong khi phần FPGA (LabVIEW FPGA) được sử dụng để lập trình I/O.

Giao tiếp máy tính

Để kết nối với Kit MyRIO, bạn cần sử dụng cáp USB với một đầu chuẩn A nối vào máy tính và đầu chuẩn B nối vào Kit Đảm bảo rằng kết nối này luôn ổn định để hoạt động hiệu quả.

Kit MyRIO hỗ trợ kết nối không dây qua Wifi với chuẩn 802.11b, g, n, sử dụng TiWi BLE Để cấu hình Wifi cho Kit, người dùng cần sử dụng trình quản lý NI.

MAX Kết nối thong qua môi trường Wifi sẽ thích hợp hơn với một số ứng dụng điều khiển từ xa Hình 3.7 Module Wifi

Hình 3.8 Cấu hình Wifi cho MyRIO sử dụng NI-MAX

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

Hình 3.9 Thông số hệ thống Kit MyRIO

National Instruments đã phát triển NI Linux Real-time, một hệ điều hành thời gian thực dựa trên nền tảng Linux, thông qua nhiều năm nghiên cứu và phát triển Hệ điều hành này được hình thành nhờ sự hợp tác với cộng đồng mã nguồn mở và sự đóng góp từ các đối tác trong lĩnh vực thời gian thực.

NI Linux Real-time đã được tích hợp sẵn trên một số phần cứng của NI và được hỗ trợ hoàn toàn trong môi trường phát triển NI LabVIEW thông qua LabVIEW Real-time Module.

NI Linux Real-time kế thừa nhiều tính năng của nhân Linux, đồng thời mang đến hiệu suất thời gian thực mà không làm giảm khả năng sử dụng của hệ điều hành.

NI Linux Real- time được hỗ trợ trên các phần cứng sau đây của National Instruments:

 Bộ điều khiển Compact RIO

 Hệ thống NI on Module

 Bộ điều khiển Compact DAQ

XỬ LÝ ẢNH VÀ THỊ GIÁC MÁY TÍNH

Xử lý ảnh là gì?

Xử lý ảnh là một lĩnh vực khoa học và công nghệ đang phát triển nhanh chóng, kết hợp với nhiều ngành khoa học khác Sự phát triển này đã thúc đẩy các trung tâm nghiên cứu và ứng dụng, đặc biệt là trong việc phát triển máy tính chuyên dụng cho xử lý ảnh.

Xử lý ảnh là xử lý, thay đổi, chỉnh sửa các hình ảnh bằng thuật toán để có được một hình ảnh mong muốn

Trong lĩnh vực kỹ thuật, xử lý ảnh không chỉ nhằm mục đích tạo ra những bức ảnh đẹp mắt, mà còn phục vụ cho việc tái tạo và cải thiện chất lượng hình ảnh, giúp chúng trở nên dễ nhìn và sắc nét hơn Bên cạnh đó, kỹ thuật này còn hỗ trợ trong việc phân biệt các đối tượng có trong hình ảnh.

Hình 4.1 Ví dụ về xử lý ảnh

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

Thị giác máy tính (Computer Vision) là lĩnh vực nghiên cứu và phát triển các phương pháp nhằm thu nhận, xử lý và phân tích hình ảnh kỹ thuật số, từ đó nhận dạng và cung cấp thông tin số một cách chính xác.

Thị giác máy tính là lĩnh vực khoa học nghiên cứu lý thuyết về các hệ thống nhân tạo có khả năng trích xuất thông tin từ hình ảnh Dữ liệu hình ảnh có thể xuất hiện dưới nhiều dạng khác nhau, bao gồm video, cảnh quay từ camera, và dữ liệu từ máy quét y học.

Hình 4.2 Ví dụ về thị giác máy tính

Lý thuyết xử lý ảnh

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

4.3.1.1 Điểm ảnh Đ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

4.3.1.2 Độ phân giải của ảnh Độ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 saocho mắt ngườivẫ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

Một điểm ảnh (pixel) có hai đặc trưng cơ bản: vị trí (x, y) và độ xám Dưới đây là một số khái niệm và thuật ngữ phổ biến trong xử lý ảnh.

 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 bao gồm 16, 32, 64, 128 và 256, trong đó mức 256 là phổ biến nhất Lý do là vì trong kỹ thuật máy tính, 1 byte (8 bit) được sử dụng để biểu diễn mức xám, cho phép tạo ra 256 mức khác nhau, 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ứcxá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 1 bit mô tả2 mứckhá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

Trong lý thuyết ba màu (Đỏ, Xanh lá, Xanh dương), ảnh màu được tạo ra bằng cách sử dụng 3 byte để mô tả các sắc thái màu sắc Điều này cho phép tạo ra 256 mức màu cho mỗi kênh màu, dẫn đến tổng cộng 16.777.216 màu khác nhau trong không gian màu.

4.3.1.4 Định nghĩa ảnh số Ảnh sốlà tập hợp các điểm ảnh với mức xám phù hợp dùng đểmô tả ảnh gần với ảnh thật Ảnh là một sựvật đại diện cho con người,sinh vật hay sựvật nào đó v.v…ảnh động nhưta thấy trên truyền hình thực chất là tập hợp của rất nhiều ảnh tĩnh liêntiếp Khi một ảnh đượcsốhóa thì nó trởthành ảnh sốvà ảnh sốnày lại là một tập hợp của rất nhiều phần tử ảnh được gọi là điểm ảnh hay là “pixel”, mỗi điểm ảnh lại được biểu diễn dưới dạng một sốhữu hạn các bit

Chúng ta có thểchia ảnh ra làm ba loại khác nhau:

 Ảnh đen trắng:mỗi điểm ảnh được biểu diễn bởi một bit

Ảnh xám (Gray-scale) là loại ảnh trong đó mỗi điểm ảnh được thể hiện bằng các mức xám khác nhau Thông thường, ảnh xám được biểu diễn với 256 mức xám, tương đương với 8 bit cho mỗi điểm ảnh.

 Ảnh màu: mỗi điểm ảnh chia ra thành tín hiệu xám và tín hiệu màu

4.3.2 Thu nhận ảnh Ả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, phongcảnh)

Các thiết bị thu nhận ảnh sẽ được cấu hình và giao tiếp với máy tính thông qua các hàm NI – IMAQ hoặc NI-IMAQdx trong LabVIEW

Hình 4.3 Thư viện NI-IMAQ và NI-IMAQdx

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

Chuyển đổi ảnh màu sang ảnh xám là quá trình biến đổi hình ảnh RGB, với giá trị màu của mỗi kênh nằm trong khoảng [0;255], thành ảnh xám chỉ có một kênh màu gray cũng trong khoảng [0;255] Mục đích của việc này là giảm không gian màu, giúp nhận dạng đối tượng dễ dàng hơn và tăng tốc độ xử lý ảnh Để thực hiện chuyển đổi từ ảnh màu sang ảnh xám, ta sử dụng công thức: Độ sáng điểm ảnh = Red * 0.1140 + Green * 0.5870 + Blue * 0.2989.

Các hệ số R, G, B được làm tròn lần lượt là 0.11, 0.59 và 0.3 Việc lựa chọn các hệ số này phụ thuộc vào yêu cầu xử lý ảnh, với điều kiện tổng của chúng bằng một.

Hình 4.4 Ảnh màu sang ảnh Gray

Phân ngưỡng (Threshold) là kỹ thuật chuyển đổi ảnh đa cấp xám thành ảnh nhị phân với các bit 0 và 1, giúp tách biệt các đối tượng trong ảnh như vân tay hay bàn tay Mặc dù phương pháp này làm gián đoạn tính liên tục của màu sắc, nhưng nó rất hiệu quả trong việc thể hiện các đường nét Giá trị ngưỡng được tính toán tùy thuộc vào đối tượng cần phân tách, với các giá trị màu lớn hơn ngưỡng chuyển đổi thành bit 1, trong khi các giá trị màu nhỏ hơn sẽ được chuyển đổi thành bit 0.

Hình 4.5 Ví dụ phân ngưỡng ma trận điểm ảnh

Nhân 2 ảnh với nhau: trong một số yêu cầu, hai hình ảnh sẽ được nhân lại với nhau, mục đích là để tăng giá trị màu của điểm ảnh, làm cho sự chênh lệch giá trị cao giúp cho việc phân ngưỡng được dễ dàng.Trong trường hợp ta có một ảnh nhị phân thu được sau quá trình phân ngưỡng, khi nhân ảnh nhị phân đó với ảnh ban đầu ta có thể thu được một ảnh mới của đối tượng với đầy đủ các giá trị mức xám

Hình 4.6 Nhân ảnh nhị phân và ảnh màu

Phân tách lớp ảnh màu RGB là quá trình cần thiết để xử lý hiệu quả các đối tượng có màu sắc riêng biệt Bằng cách tách riêng từng lớp màu đỏ, lục và lam, chúng ta có thể loại bỏ các đối tượng không cần thiết, từ đó giúp tăng tốc độ nhận dạng và xử lý ảnh.

Hình 4.7 Phối màu ảnh RGB

Xử lý ảnh trên LabVIEW

LabVIEW cung cấp một bộ công cụ toàn diện cho lập trình xử lý ảnh trên máy tính, bao gồm Vision Assistant, module IMAQ và nhiều thư viện khác được phát triển bởi người dùng.

Phát triển chương trình xử lý ảnh trên LabVIEW là một quá trình nhanh chóng và dễ dàng, nhờ vào bộ thư viện Vision phong phú Bộ thư viện này cung cấp nhiều hàm hữu ích cho việc thu nhận và xử lý hình ảnh hiệu quả.

Thư viện Vision gồm 3 nhóm hàm chính như sau:

Bảng 4.1 Nhóm hàm thư viện NI Vision

Vision Utilities Tạo và thao tác hình ảnh trong NI Vision

Image Processing Để phân tích, lọc và xử lý hình ảnh trong NI Vision

Machine Vision thực hiện các chức năng thị giác máy tính quan trọng, bao gồm việc xác định sự hiện diện hoặc vắng mặt của các thành phần trong hình ảnh và đo lường các thông số kỹ thuật của ảnh.

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

Các hàm xử lý ảnh trong LabVIEW yêu cầu một kiểu dữ liệu đầu vào thích hợp Trong LabVIEW có các kiểu dữ liệu ảnh sau:

Bảng 4.2 Kiểu dữ liệu ảnh trong LabVIEW

Grayscale (U8) 8 bits per pixel (unsigned, standard monochrome)

Grayscale (I16) 16 bits per pixel (signed)

Grayscale (SGL) 32 bits per pixel (floating point)

Complex (CSG) 2 × 32 bits per pixel (floating point)

RGB (U32) 32 bits per pixel (red, green, blue, alpha)

HSL (U32) 32 bits per pixel (hue, saturation, luminance, alpha)

RGB (U64) 64 bits per pixel (red, green, blue, alpha)

Grayscale (U16) 16 bits per pixel (unsigned, standard monochrome)

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

Khi làm việc với hình ảnh trong LabVIEW, cần tạo một biến kiểu ảnh để lưu trữ các giá trị sau khi tính toán và xử lý Để thực hiện điều này, bạn sử dụng hàm IMAQ Create để tạo biến kiểu ảnh.

Kích thước biên xác định chiều rộng biên theo điểm ảnh xung quanh hình ảnh, với các giá trị này được sử dụng cho một số VI đặc biệt Việc tạo đường biên cho ảnh đầu vào là cần thiết trong các yêu cầu xử lý ảnh, chẳng hạn như khi lọc với mặt nạ 7x7, cần có biên 3 pixel để xử lý toàn bộ hình Giá trị mặc định cho kích thước biên là 3.

Tên hình ảnh là yếu tố quan trọng, mỗi hình ảnh cần có một tên duy nhất gắn liền Tình trạng lỗi đầu vào được mô tả bởi "error in" với mặc định là không có lỗi Nếu có lỗi xảy ra, VI sẽ bỏ qua và chuyển lỗi đến đầu ra Trong quá trình thực thi, nếu có lỗi, tính năng này sẽ hoạt động để thiết lập trạng thái lỗi, sử dụng "error in" để thông báo tình trạng lỗi đến nút tiếp theo trong hệ thống.

Image Type:là một trong các kiểu dữ liệu ảnh của LabVIEW

New Image:là hình ảnh được tạo ra để cung cấp cho đầu vào của các nút sau

Trong ứng dụng LabVIEW, người dùng có thể tạo ra nhiều hình ảnh khác nhau Một phần quan trọng là "error out", chứa thông tin chi tiết về các lỗi phát sinh trong quá trình thực thi hàm hoặc từ lỗi đầu vào.

4.4.3 Chuyển đổi giữa các kiểu ảnh Để phù hợp hình ảnh cho các nút xử lý ảnh tiếp theo, các hình ảnh cần phải được chuyển đổi để phù hợp kiểu dữ liệu ảnh

Hàm IMAQ Cast Image sẽ chuyển đổi các định dạng ảnh

# Shifts:quy định chính xác số lần chuyển đổi giá trị mỗi điểm ảnh

Image Src: là một tham chiếu đến hình ảnh nguồn

Image Dst: là một tham chiếu đến hình ảnh đích

Bảng tra cứu (Lookup Table) là một mảng có thể chứa tối đa 256 phần tử cho hình ảnh 8-bit và 65.536 phần tử cho hình ảnh 16-bit Các thông báo lỗi được cung cấp qua các biến "error in" và "error out" giúp chương trình xử lý các sự cố một cách hiệu quả.

Image Type: cung cấp kiểu dữ liệu của hình ảnh cần được chuyển đổi thành

Image Dst Out: là một tham chiếu đến hình ảnh được chuyển đổi Nếu Image

Khi Dst được kết nối, hình ảnh Dst Out sẽ giống như hình ảnh Dst Ngược lại, hình ảnh Dst Out sẽ liên quan đến hình ảnh được tham chiếu bởi hình ảnh Src.

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

Một ảnh màu bao gồm ba lớp R (Đỏ), G (Xanh lá), và B (Xanh dương) Để sử dụng riêng một trong ba lớp này, bạn có thể áp dụng hàm IMAQ ExtractSingleColorPlanes Nếu cần tách hai lớp màu, hãy sử dụng hàm IMAQ ExtractColorPlanes.

Hình 4.10 IMAQ ExtractSingleColorPlanes và IMAQ

Trong đề tài này chỉ sử dụng hàm IMAQ ExtractSingleColorPlanes

Color Plane: Xác định các mặt phẳng màu để trích xuất Nếu là ảnh màu RGB thì các mặt phẳng được chọn là Red, Green hoặc Blue

Image Src: là một tham chiếu đến hình ảnh nguồn có chứa các mặt phẳng cần trích xuất

Image Dst: là một tham chiếu đến hình ảnh đích

Image Dst Out: là một tham chiếu đến hình ảnh đích hoặc hình ảnh nguồn được trích xuất

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

Các hình ảnh sẽ được chuyển đổi thành các mảng và ngược lại, các mảng cũng sẽ được chuyển đổi thành hình ảnh theo định dạng đã được xác định Hai dạng hình ảnh chính được biến đổi là ảnh RGB và ảnh Grayscale.

Optional Rectangle: định nghĩa một mảng 4 phần tử để xác định khu vực giải nén ảnh

Image: là một tham chiếu đến hình ảnh cần được giải nén hoặc biến hình ảnh để lưu ảnh được tạo thành từ mảng

Image Out: là một tham chiếu đến hình ảnh được tạo thành từ các mảng

Image Pixels tương ứng sẽ giải nén được mảng tương ứng và ngược lại, các mảng sẽ hình thành các kiểu hình ảnh tương ứng

Hình 4.12 minh họa quá trình phân ngưỡng ảnh màu RGB nhằm tạo ra một ảnh nhị phân chứa đối tượng cần tách Để thực hiện phân ngưỡng, cần xác định giá trị ngưỡng cho cả ba lớp màu R, G và B.

Giá trị thay thế (Replace Value) là giá trị mà các biến thể hình ảnh (VI) sử dụng để điền vào các điểm ảnh của hình ảnh đích khi các điểm ảnh tương ứng trong ảnh nguồn được xác định trong ba phạm vi khác nhau Giá trị mặc định cho tham số này là 1.

Color Mode: xác định định dạng màu sắc hình ảnh để sử dụng cho các hoạt động tiếp theo

Red or Hue Range là thuật ngữ dùng để xác định phạm vi ngưỡng cho các vùng màu đỏ hoặc sắc thái, tùy thuộc vào các chế độ màu khác nhau.

Green or Sat Range: là một cụm được sử dụng để xác định phạm vi ngưỡng cho các vùng màulam hoặc sat, tùy thuộc vào các chế độ màu

Xử lý ảnh trên Kit MyRIO

Việc xử lý ảnh trên Kit nhúng như MyRIO gặp nhiều thách thức do hạn chế về bộ nhớ, RAM và tốc độ xử lý Tuy nhiên, MyRIO vẫn đáp ứng được yêu cầu cho một hệ thống xử lý ảnh hoàn chỉnh Để thực hiện điều này, cần sử dụng thư viện xử lý ảnh NI Vision được hỗ trợ bởi LabVIEW, yêu cầu cài đặt phần mềm và có key bản quyền để kích hoạt Lập trình xử lý ảnh trên Kit MyRIO cần sử dụng LabVIEW để xây dựng mã nguồn, vì việc sử dụng các phần mềm khác sẽ gây khó khăn trong việc phát triển và kiểm tra hệ thống do Kit MyRIO không có màn hình Desktop.

Hình 4.15 Thư viện Vision and Motion của LabVIEW Một ví dụ xử lý ảnh trên MyRIO được xây dựng từ các hàm trong thư viện Vision and Motion:

Hình 4.16 Nhận dạng màu trên Kit MyRIO

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

Đề tài sẽ sử dụng giải thuật Fast Hand Gesture:

Phương pháp này sử dụng đường tròn làm tâm bàn tay để đếm số ngón tay, từ 1 đến 5, thông qua việc xác định số thành phần liên thông.

Hình 4.17 Đếm số ngón tay từ 1 đến theo phương pháp Fast Hand Gesture Các bước thực hiện:

- Bước 1: Lấy ảnh độ sâu từ Camera Kinect Định nghĩa ảnh độ sâu:

Trong bài viết này, chúng ta sẽ khám phá cách làm việc với ảnh chiều sâu từ Camera Kinect, bao gồm hai loại máy ảnh: máy ảnh màu và máy ảnh chiều sâu Ảnh màu từ Kinect tương tự như ảnh số từ các máy ảnh khác với cùng độ phân giải, trong khi ảnh chiều sâu ghi lại khoảng cách giữa đối tượng và người sử dụng, tạo ra hình ảnh tương tự như ảnh màu nhưng thay vì ghi lại màu sắc, Kinect ghi lại khoảng cách của các đối tượng phía trước.

Thu nhận ảnh độ sâu từ camera Kinect:

Thư viện thu nhận ảnh từ camera Kinect nhận được sự hỗ trợ lớn từ Microsoft, tuy nhiên, phần lớn tính năng chỉ dành cho máy tính, trong khi hỗ trợ cho các thiết bị nhúng còn hạn chế.

Trong đề tài sẽ sử dụng thư viện mã nguồn mở được phát triển từ người dùng của National Instruments

Hình 4.18 Hàm đọc ảnh độ sâu trên myRIO

Bước 2: Phân ngưỡng độ sâu để tách bàn tay khỏi ảnh Đối với các camera thông thường, việc phát hiện bàn tay dựa vào màu sắc, do đó, sự thay đổi môi trường có thể làm thay đổi màu sắc ảnh, gây khó khăn trong việc tách bàn tay chính xác và ảnh hưởng đến kết quả nhận dạng sau này Ngược lại, camera Kinect không bị ảnh hưởng bởi độ sáng môi trường, mà chỉ phụ thuộc vào khoảng cách của đối tượng.

Sau khi nhận ảnh từ hàm Read Depth, ảnh đã được chuyển đổi thành ảnh màu với ba lớp màu R, G, B Giá trị màu được xác định dựa trên khoảng cách, như thể hiện trong bảng dưới đây.

Bảng 4.3 Giá trị màu theo khoảng cách

Khoảng cách (cm) Giá trị (R,G,B) Khoảng cách (cm) Giá trị (R,G,B)

- Bước 3: Xây dựng một đường tròn với tâm là trọng tâm của bàn tay, bán kính là được tính sao cho bao phủ cả lòng bàn tay

Hình 4.19 Vẽ vòng trònbao phủ lòng bàn tay

Hàm IMAQ Count Objects 2 cho phép chúng ta xác định tọa độ trung tâm của đối tượng, từ đó tính toán một hình chữ nhật bao phủ đường tròn cần vẽ Kết quả này sau đó được trả về cho hàm IMAQ Overlay Oval.

Tính toán giá trị hình chữ nhật bao phủ đường tròn:

Nhận được giá trị điểm trung tâm của đối tượng bàn tay, có toạ độ (x,y)

Các toạ độ của hình chữ nhật bao phủ là (Left, Top, Right, Bottom)

Bán kính r được xác định dựa trên khoảng cách giữa bàn tay và camera, và giá trị này có thể được điều chỉnh tùy thuộc vào môi trường lắp đặt hệ thống.

Bước 4: Đếm các thành phần liên thông từ đen sang trắng tương ứng với các ngón tay và cỗ tay Nếu có quy định về kích thước của các đối tượng, có thể tách biệt cỗ tay và các ngón tay Sử dụng hàm IMAQ Count Objects 2 để thực hiện việc đếm các đối tượng.

Hình 4.20 Đếm các thành phần liên thông tương ứng số ngón tay

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

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

Hình 5.1 Hệ thống nhận dạng cử chỉ điều khiển thiết bị

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

Nhận diện các cử chỉ của tay, xử lý và xuất tín hiệu điều khiển thiết bị

 Camera thu nhận ành: phải đảm bảo thu nhận được ảnh độ sâu và truyền về Kit MyRIO

 Kit MyRIO: phải nhận được và xử lý hình ảnh sau đó truyền tín hiệu điều khiển thiết bị

 Thiết bị được điều khiển: Thiết bị phải có cách ly với Kit MyRIO để tránh điện áp lớn đổ về Kit

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

Khối xử lý ảnh Kit MYRIO nhận hình ảnh từ camera và sử dụng thuật toán để xác định cử chỉ bàn tay, bao gồm số lượng ngón tay Sau đó, nó sẽ phát tín hiệu tương ứng để điều khiển thiết bị.

Hình 5.2 Hoạt động của hệ thống

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

Camera Kinect sẽ được sử dụng trong đề tài này vì khả năng thu nhận ảnh độ sâu mà không bị ảnh hưởng bởi độ sáng của môi trường.

Các bước cài Driver Kinect cho Kit MyRIO:

To begin, download the KinectLib.zip file from the National Instruments forum, where the Kinect driver has been developed by users After extracting the file, you will obtain several important files: libfreenect.so.0.1.2, libfreenect_sync.so.0.1.2, libkinect_wrapper.so, and liblibusb.so.1.0.8.

- Bước 2: Kết nối Kit MyRIO với máy tính thông qua cáp hoặc Wifi

- Bước 3: Kích hoạt chế độ SSH cho Kit

Hình 5.4 Kích hoạt chế độ SSH cho MyRIO bằng NI-MAX

- Bước 4: Sử dụng WinSCP hoặc SFTP để kết nối với Kit, User name là

Step 5: Transfer the following files from your computer to the Kit: libfreenect.so.0.1.2, libfreenect_sync.so.0.1.2, and libkinect_wrapper.so to the /usr/lib directory, and libusb.so.1.0.8 to the /usr/local/lib directory.

- Bước 6: Kết nối với Kit sử dụng phần mềm Putty với User name là

- Bước 7: Tạo liên kết đến các tập tin được gửi lên Kit thông qua các lệnh trên Putty như sau:

#ln -s /usr/lib/libfreenect.so.0.1.2 /usr/lib/libfreenect.so.0.1

#ln -s /usr/lib/libfreenect_sync.so.0.1.2 /usr/lib/libfreenect_sync.so.0.1

#ln -s /usr/local/lib/liblibusb.so.1.0.8 /lib/libusb-1.0.so.0

- Bước 8: Khởi động lại Kit MyRIO

Phụ thuộc vào thiết bị phù hợp sẽ chọn cách điều khiển phù hợp:

 Dùng mạch điều khiển cách ly (relay, triac,opto,…) với các thiết bị sử dụng nguồn 220v

 Dùng cable usb nếu thiết bị cần điều khiển là máy tính

 Sử dụng hồng ngoại nếu đó là TV, máy lạnh, …

 Có thể dùng wifi nếu các thiết bị có hỗ trợ wifi Đề tài sẽ sử dụng các LED đơn thay cho các thiết bị thật

Kèm theo Kit MyRIO Nationals Instruments cung cấp cho người dùng một bộ thư viện “myRIO” để lập trình cho các chần I/O trên Kit

Hình 5.5 Thư viện myRIO LabVIEW

Hình 5.6 Chương trình điều khiển Led đơn

Chương trình mẫu điều khiển Led đơn cho phép lập trình viên mở rộng khả năng điều khiển nhiều Led cùng lúc Tín hiệu được phát ra không chỉ để điều khiển Led mà còn có thể kích hoạt mạch bật/tắt thiết bị, mang lại tính linh hoạt trong ứng dụng.

5.2.3 Xử lý trung âm (Xử lý ảnh và nhận dạng cử chỉ) a Phần cứng:

Kit MYRIO có giao tiếp usb (giao tiếp camera), có nhiều chân I/O (để điều khiển thiết bị), có hệ điều hành (tiếp nhận và xử lý hình ảnh)

Hình 5.7 Kết nối USB của MyRIO b Phần mềm:

Giải thuật xử lý hình ảnh và nhận dạng cử chỉ bàn tay được xây dựng thành một chương trình hoàn chỉnh

Hình 5.8 Giải thuật fast hand gesture được xây dựng từ LabVIEW

Có 2 cách để kết nối Kit MYRIO với máy tính để lập trình và hiển thị hình ảnh là sử dụng cable usb hoặc kết nối wifi

Hình 5.9 Giao tiếp MyRIO với máy tính

KẾT QUẢ VÀ NHẬN XÉT

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

Sau khi thực hiện xong đề tài “XỬ LÝ ẢNH TRÊN KIT MYRIO”, đề tài đã được hoàn thành với những kết quả đạt được:

Về Kit NI MyRIO và Camera Kinect:

 Tìm hiểu về kiến trúc thiết kế Kit MyRIO

 Tìm hiểu hệ điều hành thời gian thực của National Instruments, Linux Real- time trên Kit MyRIO

 Giao tiếp với máy tính và lập trình cho Kit

 Cài đặt thành công Driver Camera Kinect

 Tìm hiểu chức năng hoạt động của Camera Kinect

Về phần mềm lập trình:

 Cài đặt thành công môi trường lập trình LabVIEW

 Cài đặt Module cần thiết để lập trình cho Kit MyRIO

 Tìm hiểu ngôn ngữ lập trình đồ hoạ LabVIEW

 Lập trình và đổ xuống Kit

Về các chương trình mẫu chạy trên Kit NI MyRIO:

 Chạy thành công các chương trình mẫu trên Kit MyRIO như: điều khiển led đơn, giao tiếp webcam, nhận dạng màu,…

 Hiểu được chức năng của các hàm như Digital input – out put, Camera open – close, Color Learn,…

Về triển khai ứng dụng:

Xây dựng được hệ thống thu nhận ảnh độ sâu từ Camera Kinect đưa về Kit

NI MyRIO cho phép hiển thị hình ảnh trên màn hình máy tính và xử lý các hình ảnh đó Công nghệ này có khả năng tách ảnh bàn tay ra khỏi nền bằng cách sử dụng phân ngưỡng độ sâu Ngoài ra, nó còn có thể đếm số ngón tay của một bàn tay trong ảnh một cách chính xác.

Hình 6.1 Chương trình đếm ngón tay trên Kit MyRIO

Nhận xét kết quả

Chương trình hoạt động không ổn định do việc sử dụng ảnh độ sâu, dẫn đến việc thông số ảnh thay đổi khi khoảng cách đến camera thay đổi Điều này gây khó khăn trong việc tách bàn tay để nhận diện chính xác.

Khoảng cách giữa các ngón tay cần phải đảm bảo một khoảng cách nhất định và phài vươn thẳng các ngón tay.

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

 Hỗ trợ lập trình C hoặc LabVIEW

Khi lập trình bằng LabVIEW, dung lượng lưu trữ chương trình trên Kit rất nhỏ Các thư viện không cần cài đặt trực tiếp trên Kit mà sẽ được biên dịch từ mã nguồn và tải xuống Kit một cách tự động.

 Sử dụng Xilinx Zynq-7010 nên có thể phát triển thành một hệ thống chuyên biệt

 Hỗ trợ nhiều chuẩn giao tiếp, I/O điều khiển, hỗ trợ giao tiếp với nhiều module

 Giá thành cao sẽ khó cho sinh viên tiếp cận nghiên cứu

 Kit không có giao tiếp VGA hay HDMI nên khi xử lý ảnh với ngôn ngữ C sẽ gây khó khăn.

Ngày đăng: 27/11/2021, 23:42

HÌNH ẢNH LIÊN QUAN

Hình 2.3. Ví dụ về front panel - Xử lý ảnh trên kit myrio
Hình 2.3. Ví dụ về front panel (Trang 21)
Hình 2.10. Structures Palette - Xử lý ảnh trên kit myrio
Hình 2.10. Structures Palette (Trang 26)
Hình 3.5. Cấu hình Chip Xilinx Zynq-7010 trên Kit NI MyRIO - Xử lý ảnh trên kit myrio
Hình 3.5. Cấu hình Chip Xilinx Zynq-7010 trên Kit NI MyRIO (Trang 32)
Hình 3.8. Cấu hình Wifi cho MyRIO sử dụng NI-MAX - Xử lý ảnh trên kit myrio
Hình 3.8. Cấu hình Wifi cho MyRIO sử dụng NI-MAX (Trang 34)
Hình 3.9. Thông số hệ thống Kit MyRIO - Xử lý ảnh trên kit myrio
Hình 3.9. Thông số hệ thống Kit MyRIO (Trang 35)
Hình 4.1. Ví dụ về xử lý ảnh - Xử lý ảnh trên kit myrio
Hình 4.1. Ví dụ về xử lý ảnh (Trang 37)
Hình 4.2. Ví dụ về thị giác máy tính - Xử lý ảnh trên kit myrio
Hình 4.2. Ví dụ về thị giác máy tính (Trang 38)
Hình 4.3. Thư viện NI-IMAQ và NI-IMAQdx - Xử lý ảnh trên kit myrio
Hình 4.3. Thư viện NI-IMAQ và NI-IMAQdx (Trang 40)
Hình 4.4. Ảnh màu sang ảnh Gray - Xử lý ảnh trên kit myrio
Hình 4.4. Ảnh màu sang ảnh Gray (Trang 41)
Hình 4.6. Nhân ảnh nhị phân và ảnh màu - Xử lý ảnh trên kit myrio
Hình 4.6. Nhân ảnh nhị phân và ảnh màu (Trang 42)
Hình 4.10. IMAQ ExtractSingleColorPlanes và IMAQ - Xử lý ảnh trên kit myrio
Hình 4.10. IMAQ ExtractSingleColorPlanes và IMAQ (Trang 46)
Hình 4.11. IMAQ ColorImageToArray - ArrayToColorImage – - Xử lý ảnh trên kit myrio
Hình 4.11. IMAQ ColorImageToArray - ArrayToColorImage – (Trang 47)
Hình 4.16. Nhận dạng màu trên Kit MyRIO - Xử lý ảnh trên kit myrio
Hình 4.16. Nhận dạng màu trên Kit MyRIO (Trang 51)
Hình 4.17.  Đếm số ngón tay từ 1 đến theo phương pháp Fast Hand Gesture  Các bước thực hiện: - Xử lý ảnh trên kit myrio
Hình 4.17. Đếm số ngón tay từ 1 đến theo phương pháp Fast Hand Gesture Các bước thực hiện: (Trang 52)
Hình 4.19. Vẽ vòng trònbao phủ lòng bàn tay - Xử lý ảnh trên kit myrio
Hình 4.19. Vẽ vòng trònbao phủ lòng bàn tay (Trang 54)

TỪ KHÓA LIÊN QUAN

w