Thư viện thị giác máy tính mã nguồn mở OpenCV

Một phần của tài liệu Nghiên cứu xây dựng phần mềm nhận dạng mặt người theo thời gian thực (Trang 37 - 39)

Để hỗ trợ cho việc xây dựng và thiết kế ứng dụng thực nghiệm trong đề tài này, chúng ta sẽ tìm hiểu về thư viện hỗ trợ trong việc xử lý ảnh OpenCV của Intel.

OpenCV là viết tắt của Open Source Computer Vision Library [4].Nó chứa hơn 500 hàm sử dụng trong thị giác máy (computer vision). OpenCV là một thư viện mã nguồn mở (open source) http://sourceforge.net/. Thư viện được viết bằng ngôn ngữ C và C++ có thể chạy trên các hệ điều hành Linux, Window và Mac OS X. OpenCV được thiết kế để nâng cao hiệu suất tính tốn và nhấn mạnh đến hệ thống thời gian thực. Một điều tuyệt vời của OpenCV là nó đưa ra một hệ thống đơn giản, dễ sử dụng giúp mọi người nhanh chóng xây dựng các ứng dụng trong thị giác máy, kể cả các hệ thống kiểm tra trong nhà máy, bức ảnh trong lĩnh vực y học, bảo mật, rơ bốt học v..v. Nó chứa các lệnh lập trình xử lý ảnh rất đơn giản, kể cả thực thi các hàm bậc cao như dị tìm khn mặt, theo dõi khn mặt, nhận dạng khuôn mặt.

Kể từ khi được giới thiệu vào tháng 1 năm 1999, OpenCV đã được sử dụng trong rất nhiều ứng dụng, các sản phẩm và các nghiên cứu. Ví dụ trong lĩnh vực hàng khơng vũ trụ, bản đồ web, sử dụng giảm nhiễu trong y học, phân tích đối tượng, an ninh, hệ thống dị tìm, theo dõi tự động và hệ thống bảo mật, quản lý hệ thống sản xuất, xử lý camera, ứng dụng trong quân sự, hệ thống hàng không không người lái, trên mặt đất, các tàu ngầm.

Hình 2.4 Quá trình phát triển của OpenCV.

Cấu trúc của OpenCV được chia thành các phần sau:

 CV (computervision): là 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 cụ thể là các thao tác trong xử lý ảnh như lọc ảnh, trích biên, phân vùng, tìm contour, biến đổi Fourier.

23

 MLL(machine learning library):là thư viện máy học, cái này bao gồm rất nhiều lớp thống kê và gộp các công cụ xử lý.

 HighGUI: là thành phần chứa 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.

 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 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. Số lượng hàm chứa đựng trong CxCore là rất lớn.

 IPP (Integrated Performance Primitives): là một thư viện của Intel gồm các hàm tối ưu mức thấp trong các lĩnh vực khác nhau, đây chỉ là một option của OpenCV, OpenCV tự động gọi các hàm trong IPP nếu nó được cài đặt.

Hình 2.5 Cấu trúc cơ sở của OpenCV. IPP IPP

Mã nguồn đã được tối ưu trên kiến trúc của Intel.

CVCORE

Cấu trúc cơ sở và các thuật toán, hỗ trợ XML, các hàm vẽ.

CV Xử lý ảnh và thuật toán về thị giác máy MLL Thống kế và tập hợp các công cụ xử lý HighGUI

Giao diện, truy xuất ảnh và video Các mã nguồn ví dụ và ứng dụng thực nghiệm

24

Chương 3

THIẾT KẾ VÀ THỰC HIỆN CHƯƠNG TRÌNH XỬ LÝ

Một phần của tài liệu Nghiên cứu xây dựng phần mềm nhận dạng mặt người theo thời gian thực (Trang 37 - 39)

Tải bản đầy đủ (PDF)

(57 trang)