3.2.7.1. OpenCV
OpenCV (Open Source Computer Vision) là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính, có các chức năng lập trình chủ yếu nhắm vào tầm nhìn máy tính thời gian thực. Trong ngôn ngữ đơn giản nó là thư viện được sử dụng để xử lý ảnh, chủ yếu được sử dụng để thực hiện tất cả các hoạt động liên quan đến hình ảnh.
Thư viện có hơn 2500 thuật toán được tối ưu hóa, bao gồm một bộ toàn diện về cả thuật toán máy tính cổ điển và hiện đại và thuật toán học máy. Các thuật toán này có thể được sử dụng để phát hiện và nhận diện khuôn mặt, nhận dạng đối tượng, phân loại hành động của con người trong video, theo dõi chuyển động của camera, theo dõi các vật thể chuyển động, trích xuất mô hình 3D của vật thể, tạo ra các đám mây điểm 3D từ camera stereo, ghép các hình ảnh lại với nhau để tạo độ phân giải cao hình ảnh của toàn bộ cảnh, tìm hình ảnh tương tự từ cơ sở dữ liệu hình ảnh, loại bỏ mắt đỏ khỏi hình ảnh được chụp bằng đèn flash, theo dõi chuyển động của mắt, nhận ra cảnh quan và thiết lập các điểm đánh dấu. Nó có giao diện C ++, Python, Java và MATLAB và hỗ trợ Windows, Linux, Android và Mac OS.
3.2.7.2. Numpy
Numpy là một thư viện của Python hỗ trợ cho việc tính toán các mảng nhiều chiều, có kích thước lớn với các hàm số đã được tối ưu áp dụng lên các mảng nhiều chiều đó. Numpy đặc biệt hữu ích khi thực hiện các hàm số liên quan tới đại số tuyến tính.
3.2.7.3 . Matplotlib
Matplotlib là thư viện mã nguồn mở và miễn phí hỗ trợ vẽ đồ thị rất mạnh mẽ trong python, có tính năng và cách sử dụng tương tự như trong Matlab.
Matplotlib có một số interfaces để tương tác với thư viện matplotlib: Object- Oriented API, The Scripting Interface (pyplot), The MATLAB Interface (pylab). Pyplot và pylab đều là lightweight interfaces, tuy nhiên Pyplot cung cấp một giao diện thủ tục các thư viện vẽ hướng đối tượng trong matplotlib. Các lệnh vẽ của nó được thiết kế tương
39 tự với Matlab cả về cách đặt tên và ý nghĩa các đối số. Cách thiết kế này đã giúp cho việc sử dụng pyplot dễ dàng và dễ hiểu hơn.
Matplotlib đi kèm với các cài đặt mặc định, cho phép chúng ta tùy chỉnh tất cả các thuộc tính. Chúng ta có thể kiểm soát các giá trị mặc định của hầu hết các thuộc tính của matplotlib, bao gồm: figure size và dpi, line width, color và style, axes, axis và grid properties, text và font properties,…
3.2.7.4 . Scikit_learn
Scikit-learn (viết tắt là sklearn) là một thư viện mã nguồn mở dành cho học máy - một ngành trong trí tuệ nhân tạo, rất mạnh mẽ và thông dụng với cộng đồng Python, được thiết kế trên nền NumPy và SciPy. Scikit-learn chứa hầu hết các thuật toán machine learning hiện đại nhất, đi kèm với documentations, luôn được cập nhật.
- Hỗ trợ hầu hết các thuật toán của machine learning một cách đơn giản, hiệu quả mà chúng ta không cần phải mất công ngồi cài đặt lại.
- Có tài liệu hướng dẫn sử dụng.
- Độ tin cậy cao do scikit-learn được xây dựng bởi các chuyên gia hàng đầu - Có nguồn dữ liệu phong phú: iris, digit, …
40
Chương 4. CHƯƠNG TRÌNH ĐIỀU KHIỂN NHẬN DIỆN LÀN ĐƯỜNG (LANE DETECTION)