OpenCV, như đã nói là một thư viện rất đồ sộ và được tập thể các tác giả
chia làm bốn phần chính:
(1) CxCore : Chứa các cấu trúc cơ bản như điểm, đường, dãy, mặt, ma trận … và các thao tác cấp thấp liên quan.
CxCore chứa đựng rất nhiều các thành phần cơ bản cấu thành nên toàn bộ
OpenCV. CxCore bao gồm các cấu trúc dữ liệu cơ bản, các thao tác lên mảng
(array), các cấu trúc động, các hàm vẽ, các hàm tác động lên dữ liệu, các hàm quản lý lỗi và sự kiện và một số hàm cần thiết khác. Tất cả những gì trong
CxCore đều góp phần tạo nên bộ khung cho OpenCV. Số lượng chứa đựng
trong CxCore là rất lớn vàở đây chỉ trích ra đây một số ít những cấu trúc và hàm
cơ bản nhất của OpenCV.Các cấu trúc quan trọng :
CvPoint : Chứa cấu trúc tọa độ của một điểm ảnh
CvRect : Hình chữ nhật
CvMat : ma trận. Mộtcấu trúc được sử dụng khá nhiều
IplImage: Cấu trúc quan trọng nhất. Chứa đựng toàn bộ ảnh
CvSeq: Cấu trúc quan trọng cuối cùng nêu ra ở đây. Cấu trúc này chứa một
danh sách các dữ liệu. Đây có thể xem là một ArrayList trong OpenCV
Các thao tác trên mảng Array
Các thao tác trên dữ liệu động
Các hàm vẽ
(2) CV : Chứa hầu hết các thao tác liên quan đến việc xử lý ảnh ở cấp thấp như lọc ảnh, trích biên, phân vùng, tìm contour, biến đổi Fu-ri-ê (Fourier) …
Nhóm CV cung cấp các hàm liên quan trực tiếp đến Computer Vision, trong đó tập trung ở các thao tác cấp thấp trên ảnh và camera. Phần này chia thành các nhóm lớn như sau:
Nhóm xử lý ảnh
Nhóm phân tích cấu trúc
(3) HighGUI : Các thao tác lên những file ảnh và file video như đọc ảnh, hiển thị ảnh, chuyển đổi định dạng …
HighGUI cung cấp các hàm để thao tác trực tiếp lên file ảnh và camera,
trong đó phần làm việc với ảnh chia thành 2 nhóm chính là nhóm tác động lên giao diện và nhóm tác động lênảnh.
Nhóm tác động lên giao diện
Nhóm tác động lên fileảnh
(4) CvCam : Làm việc với camera ở phiên bản OpenCV 1.1. Khi nâng cấp lên phiên bản 2.0, OpenCV cho ghép cùng với HighGUI.
Sau khi tìm hiểu về thực tại ảo và thị giác máy tính, ta bắt tay vào công việc thực tế là xây dựng một hệ thống thực tại ảo cho điều khiển từ xa. Các chương tiếp theo sẽ trình bày về quá trình thực hiện công việc này.
Chương 3 – Xây dựng hệ thống thực tại