Xác định contour bàn tay.

Một phần của tài liệu Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học (Trang 36 - 37)

Đây là bước xác định giớn hạn bàn tay trong ảnh đồng thời có thể khoanh vùng giới hạn bàn tay, hay nói cách khác là xác định biên của bàn tay. Mọi việc tính toán số liệu sẽ được thực thi trong biên này. OpenCV có hỗ trợ sẵn hàm để xác định Contour trong ảnh nhị phân:

Hình 3.8: Phương thức cvFindCountour của OpenCV

Trong đó:

+ Image: là ảnh đầu vào 8 bit một kênh. Những điểm là 0 được xem là 1, còn những

điểm là 0 vẫn xem là 0. Để tạo ra ảnh nhị phân từ ảnh xám ta sự dụng các hàm như: cvThreshold, cvAdaptiveThreshold or cvCanny với mục đích sửa đổi nội dung ảnh đầu vào.

+ Storage: Chứa đường viền.

+ First_contour: Tham số đầu ra, chứa những con trỏ tới các đường viền bên ngoài

đầu tiên.

+ Header_size: kích thước header, >=sizeof(CvChain) Nếu method =

CV_CHAIN_CODE và >=sizeof(CvContour) trong các trường hợp còn lại. + Mode: chế độ thu hồi.

- CV_RETR_LIST: thu hồi tất cả các đường viền và đặt chúng lại vào trong

danh sách.

- CV_RETR_EXTERNAL: thu hồi những đường viền nằm bên ngoài nhất.

- CV_RETR_CCOMP: thu hồi tất cả các đường viền và sắp xếp chúng thành

một hệ thống hai cấp: cấp cao nhất là bao đóng bên ngoài của các thành phần, cấp độ thứ hai là bao đóng của các lỗ.

- CV_RETR_TREE: thu hồi tất cả các đường viền và xây dựng lại hệ thống

phân cấp đầy đủ các đường viền lồng nhau.

+ Method: phương pháp xấp xỉ, cho tất cả các chế độ ngoại trừ CV_LINK_RUNS.

- CV_CHAIN_CODE: Kết quả contour đầu ra trong chuỗi Freeman.

- CV_CHAIN_APPROX_NONE: Chuyển tất cả các điểm từ mã chuỗi thành điểm.

- CV_CHAIN_APPROX_SIMPLE: Nén các phân đoạn ngang, dọc, chéo và chỉ còn lại điểm cuối cùng trên mỗi phân đoạn.

Một phần của tài liệu Điều khiển robot bằng phương pháp xác định số lượng ngón tay báo cáo nghiên cứu khoa học (Trang 36 - 37)